前言
任何试图从数据中发掘和传达见解的人都需要精通数据可视化。可视化对于机器学习过程中的每个分析阶段都至关重要。Python经常被用于绘制图形,因为它是该领域最重要的编程语言之一。因此,编程创建图形是当今一项非常普遍的任务。Python4Delphi的Matplotlib或Seaborn库使得解决(P4D)和制作最佳Python图形变得简单。因此,在这篇文章中,我们将使用[Python]提供的最好的[数据可视化工具]来看看5个顶级的Python图形例子。
需要Python零基础学习资料的伙伴,可以在公众号【码农资料库】中回复【py】自行领取 包括以下学习资料:
① Python所有方向的学习路线图,清楚各个方向要学什么东西
②Python课程视频,涵盖必备基础、爬虫和数据分析
③ Python实战案例,学习不再是只会理论
④ Python电子好书,从入门到高阶应有尽有
⑤ 华为出品独家Python漫画教程,手机也能学习 ⑥ 历年互联网企业Python面试真题,复习时非常方便
什么是柱状图?
柱状图是用来显示分类数据的。分类数据被显示为矩形条,其高度与它们在条形图中所代表的数值成正比。此外,它经常被用来比较各种数据类别的值,使用各种数据可视化工具Python。
什么是分类数据?
分类数据集无非是将数据归入各种逻辑类别,如高、中、矮等,对于一个人的身高数据来说。你必须弄清楚每个类别的数量,以创建一个条形图。
用户必须首先安装我们将使用的所有必要的库。Python的pip命令被用来完成这个任务。然后,导入这些包应该是你脚本的第一步。
import numpy as np import pandas as pd import matplotlib.pyplot as plt |
让我们做一个有10个不同类别的数据集,并给每个类别一个值。
使用np.random.randn()
函数生成一个随机数组,将数组的大小、上界和下界作为参数传给它。
# create data
x = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
y = np.random.randint(low=0, high=90, size=10)
print(y)
下面是程序的输出。
[47, 0, 27, 23, 42, 4, 46, 76, 33, 71] |
如你所见,输出的y包含一个随机选择的数值数组。然后我们使用 plt.bar()
函数传递两个参数x值和y值,在[Matplotlib]中绘制一个条形图。
# simple bar chart plt.bar(x, y) plt.xlabel("Categories") plt.ylabel("Values") plt.title("Bar plot of categories') plt.show() |
Matplotlib是一个强大的Python库,你可以在各种应用中使用它,它是许多其他Python库的基础。
什么是折线图?
被称为线段图的信息图将数据显示为一系列由直线段连接的数据点。
线形图是最常用的图表之一,它显示了一个或多个数据点随时间变化的方向。例如,在这个例子中,dateTime将是X轴,而测量的数量,如股票价格、天气、月销售额等,将在Y轴上。在显示任何时间序列数据时,线图通常是第一选择。
我们将首先导入制作折线图所需的软件包。这些导入与我们刚才看到的条形图的导入是一样的。
让我们用这个 np.linspace()
函数来创建一个有50个1到100的值的数据集。这将出现在x轴上,而x的对数将出现在y轴上。
使用plt.plot,可以生成y对x的线图(x,y)。它将每一个点都连接成一条直线。
# simple line plot
x = np.linspace(1,100,5)
y = np.log(x)
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('logx')
plt.title('Basic line plot')
plt.xlim(0,100)
plt.ylim(0,5)plt.show()
如何在Python中创建一个饼图?
饼图根据饼所占的百分比来显示数据的分布。在做了必要的导入后,可以用Python中的plt.pie()命令来绘制饼图。
让我们看一个简单的例子。
import matplotlib.pyplot as plt
import numpy as np
y = np.array([45, 15, 25, 15])
labels = ["Peaches", "Bananas", "Cherries", "Apricots"]
plt.pie(y, labels=labels)
plt.show()
为什么散点图是最好的Python图形之一?
你可以将两个数据集沿着两个轴绘制成图,以创建一个散点图。它有助于描述两个变量之间的关系。
如果y轴上的值随着x轴的上升(或下降)而出现上升,那么可能存在正(或负)的线性关系。相反,如果这些点是随机分布的,没有任何可识别的模式,这可能表明不存在依赖关系。
Python Matplotlib中的散点图可以使用 pyplot.plot()
或 pyplot.scatter()
.借助于这些功能,你可以通过改变点的大小、颜色或形状来增强你的散点图。
因此,关于什么区别于 plt.scatter()
和 plt.plot()
的问题经常出现。用 pyplot.plot()
,你应用的任何属性(颜色、形状或点的大小)都将应用于所有的点,而用 pyplot.scatter()
;你对每个点的外观有更多的控制。
换句话说,你可以用 plt.scatter()
来使每个点(数据点的颜色,)的形状和大小取决于不同的变量–同一个变量,甚至是(y)。与此相反,你在使用时设置的属性 pyplot.plot()
时设置的属性将被应用于图表中的每一个点。
这里需要使用我们之前为numpy、pandas和matplotlib做的同样的导入。首先,让我们用np.random.randint()
函数生成虚构的数据。你必须说明你需要多少个点的参数。此外,你可以指定所需的随机变量的下限和上限。
然后,使用Matplotlib的 plt.scatter()
函数来创建一个散点图。变量x和y必须作为参数给出。
# simple scatterplot
x = range(50)
y = range(50) + np.random.randint(0, 30, 50)
plt.scatter(x, y)
plt.title('Basic scatter plot')
plt.xlabel('X value')
plt.ylabel('Y value')
plt.show()
什么是热图?它是否有资格成为最好的Python图表之一?
用图形表示为列和行的矩阵的多变量数据被称为热图。当描述几个数字变量之间的相关性并显示模式和异常情况时,热图是一个非常有用的工具。
相关性是什么意思?
一个变量与其他变量的关系程度是由它的相关性来衡量的,这是一个无量纲单位。它衡量了变量的强度和方向之间的线性关系。它的值从0到1不等,代表强度,而+和-符号,代表方向。
下面的热图图中使用的数值是用NumPy随机生成的。虽然有许多可能的参数,但我们在这里将集中讨论基本图。
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
np.random.seed(0)
sns.set()
uniform_data = np.random.rand(10, 12)
ax = sns.heatmap(uniform_data, vmin=0, vmax=1)
plt.show()
Seaborn是一个用户友好的库,提供强大的工具来创建更好、更漂亮的可视化。此外,用户可以修改Seaborn图以满足个人需求,并可以使用Python为各种应用创建热图。
你能绘制这些最好的Python图表吗?
一套名为[Python for Delphi (P4D)]的免费组件将Python DLL整合到Delphi和Lazarus (FPC)。P4D使得运行Python脚本和开发新的Python模块和类型变得简单。例如,如果你已经有一个Python应用程序并需要创建图表,你可以使用Matplotlib库或将数据发送到Delphi并创建图表。你也可以用Matplotlib制作这个图表,然后在Delphi Windows GUI应用程序中显示。
你可以以多种不同的方式使用Python4Delphi,例如。
- 围绕你现有的Python应用程序创建一个Windows GUI。
- 将Python脚本添加到你的Delphi Windows应用程序中。
- 通过Delphi线程为你的Python应用程序添加并行处理。
- 用Delphi的函数增强你对速度敏感的Python应用程序,以提高速度。