前言Matplotlib是一个流行的Python库,可以轻松用于创建数据可视化。然而,每次进行新项目时,设置数据、参数、图表和绘图都会变得非常混乱和乏味。而且由于不同的应用,我们不知道选择哪种图例,例如直方图、饼图、图形等。这里有一张很棒的思维导图,可以帮助您为您的工作选择合适的可视化:让我们解释一下主要的这张思维导图中的图例:散点图散点图非常适合显示两个变量之间的关系,因为您可以直接看到数据的原始分布。您还可以通过对组进行颜色编码来查看数据组之间的这种关系,如下图所示。想可视化三个变量之间的关系?!完全没有异议只需使用另一个参数(例如点大小)对第三个变量进行编码,如下面第二个图所示,我们称此图为气泡图。散点图函数示例:scatter(x_data,y_data,s=10,color=color,alpha=0.75)折线图当您可以清楚地看到一个变量与另一个变量之间存在较大变化时,最好使用折线图图片。让我们看下图来说明。我们可以清楚地看到,所有专业的百分比随时间变化很大。用散点图绘制这些图会非常混乱并且很难真正理解和查看发生了什么。折线图非常适合这一点,因为它基本上提供了两个变量(百分比和时间)协方差的快速总结。同样,我们也可以使用颜色编码进行分组。折线图代码示例:plot(x_data,y_data,lw=2,color='#539caf',alpha=1)直方图直方图对于查看(或实际发现)数据点的分布很有用。看看下面的直方图,我们在其中绘制了频率与智商的关系。我们可以清楚地看到什么是集中在中心,什么是中位数。我们还可以看到它服从高斯分布。使用条形图(而不是散点图)可以让我们清楚地看到每个区间的频率之间的相对差异。使用bins(离散化)确实可以帮助我们看到“大局”,如果我们使用所有数据点而不离散化bins,可视化中可能会有很多噪音,很难看清发生了什么。假设我们要比较数据中两个变量的分布。有人可能认为您必须制作两个单独的直方图并将它们放在一起比较。但是,实际上有一个更好的方法:我们可以用不同程度的透明度覆盖直方图。看看下面的图表。将均匀分布的不透明度设置为0.5,以便我们可以看到它的后面。这允许在同一图上直接查看两个分布。直方图代码示例:hist(data,n_bins=n_bins,cumulative=cumulative,color='#539caf')条形图当您尝试可视化具有少量类别(可能少于10个)的分类数据时,条形图是最有效的。如果我们的类别太多,图中的条形图就会非常混乱且难以理解。它们非常适合分类数据,因为您可以根据大小缩放条形;分类也很容易划分和颜色代码。我们将看到三种不同类型的条形图:常规、分组和堆叠:常规条形图的代码示例:bar(x_data,y_data,color='#539caf',align='center')points组图代码示例:foriinrange(0,len(y_data_list)):ifi==0:bar(x_data,y_data_list[i],color=colors[i],align='center',label=y_data_names[i])else:bar(x_data,y_data_list[i],color=colors[i],bottom=y_data_list[i-1],align='center',label=y_data_names[i])堆栈图代码示例:foriinrange(0,len(y_data_list)):酒吧(x_data+alteration[i],y_data_list[i],color=colors[i],label=y_data_names[i],width=ind_width)
