本文介绍了数据分析与可视化中最有用的50个数据分析图,共分为7大类:Correlation、Deviation、RankIng、Distribution、Composition、Change、Groups
原文链接:https://www.machinelearningplus.com/plots/top-50-matplotlib-visualizations-the-master-plots-python/
目录
设置
Correlation
1.Scatter plot(散点图)
2.Bubble plot with Encircling(包围的气泡图)
3. Scatter plot with linear regression line of best fit(散点图与最佳线性拟合回归线)
4.Jittering with stripplot(带条纹的抖动)
5. Counts Plot(计数图)
6. Marginal Histogram(边缘直方图)
7. Marginal Boxplot(边缘箱线图)
8. Correllogram(相关图)
9. Pairwise Plot(成对图)
Deviation
10. Diverging Bars(发散条形图)
11. Diverging Texts(发散文本)
12. Diverging Dot Plot(散点图)
13. Diverging Lollipop Chart with Markers(带标记的发散型棒棒糖图)
14. Area Chart(面积图)
Ranking
15. Ordered Bar Chart(有序条形图)
16. Lollipop Chart(棒棒糖图)
17. Dot Plot(点图)
18. Slope Chart(坡度图)
19. Dumbbell Plot(哑铃图)
Distribution
20. Histogram for Continuous Variable(连续变量的直方图)
21. Histogram for Categorical Variable(类型变量的直方图)
22. Density Plot(密度图)
23. Density Curves with Histogram(直方密度图)
24. Joy Plot
25. Distributed Dot Plot(分布式点图)
26. Box Plot(箱形图)
27. Dot + Box Plot(点+箱型图)
28. Violin Plot(小提琴图)
29. Population Pyramid(人口金字塔)
30. Categorical Plots(分类图)
Composition
31. Waffle Chart(华夫饼表)
32. Pie Chart(饼状图)
33. Treemap(树状图)
34. Bar Chart(条形图)
Change
35. Time Series Plot(时间序列图)
36. Time Series with Peaks and Troughs Annotated(带波峰波谷标记的时序图)
37. Autocorrelation (ACF) and Partial Autocorrelation (PACF) Plot(自相关和部分自相关图)
38. Cross Correlation plot(交叉相关图)
39. Time Series Decomposition Plot(时间序列分解图)
40. Multiple Time Series(多时间序列)
41. Plotting with different scales using secondary Y axis(使用辅助Y轴来绘制不同范围的图形)
42. Time Series with Error Bands(带有误差带的时间序列)
43. Stacked Area Chart(堆积面积图)
44. Area Chart UnStacked(未堆积的面积图)
45. Calendar Heat Map(日历热力图)
46. Seasonal Plot(季度图)
Groups
47. Dendrogram(树状图)
48. Cluster Plot(簇状图)
49. Andrews Curve(安德鲁斯曲线)
50. Parallel Coordinates(平行坐标)
在运行具体画图代码前,先运行以下代码,导入画图所需的库,以及进行一些必要的参数设置。
用于可视化两个或多个变量之间的相互关系,当一个变量发生变化时,另一个变量与之如何变化。
1.Scatter plot(散点图)
散点图是研究两个变量之间最基本和经典的关系图。如果数据中有多个不同的组,则可能需要以不同的颜色显示每个组。在matplotlib中,可以使用。
2.Bubble plot with Encircling(包围的气泡图)
有时你想在一个边界内显示一组点来强调它们的重要性。
3. Scatter plot with linear regression line of best fit(散点图与最佳线性拟合回归线)
如果想了解两个变量之间是如何变化的,那么最好的方法就是绘制一条拟合线。下图显示了数据中不同组之间的最佳拟合线的差异。
4.Jittering with stripplot(带条纹的抖动)
通常,多个数据点具有完全相同的X和Y值。因此绘制这些点时会相互覆盖,为避免这种情况,可以对其稍微抖动,以便可以直观地看到它们。使用seaborn.stripplot()函数很方便。
5. Counts Plot(计数图)
另一个避免数据点相互重叠的方法是改变数据点的大小,这取决于该图中有多少个点。
6. Marginal Histogram(边缘直方图)
边缘直方图是一个有着沿X和Y轴变量的直方图。这用于可视化X和Y之间的关系,同时也显示出X和Y各自的分布情况。
7. Marginal Boxplot(边缘箱线图)
边缘箱图与边缘直方图具有相似的用途。然而,箱线图有助于精确定位X和Y的中位数,25和75百分位数。
8. Correllogram(相关图)
Correlogram用于直观地查看给定数据帧(或2D数组)中所有可能的数值变量对之间的相关度量。
9. Pairwise Plot(成对图)
成对图用以理解所有可能的数字变量对之间的关系,它是双变量分析的必备工具。
10. Diverging Bars(发散条形图)
如果想根据单个指标查看条目的变化情况,并可视化此差异的顺序和数量,那么发散条形图是一个很好的工具。
11. Diverging Texts(发散文本)
发散文本类似于发散条形图,如果想以一种漂亮和可呈现的方式显示图表中每个条目的数值。
12. Diverging Dot Plot(散点图)
13. Diverging Lollipop Chart with Markers(带标记的发散型棒棒糖图)
带标记的棒棒糖可以帮助强调想要引起注意的任何重要数据点。
14. Area Chart(面积图)
通过对坐标轴和曲线之间的区域进行着色,区域图不仅强调波峰值和低波,而且还强调波峰和波谷的持续时间。波峰持续时间越长,面积越大。
15. Ordered Bar Chart(有序条形图)
有序条形图有效地传达了条目的排名顺序。但是,在图表上方添加度量标准的值,用户可以从图表本身获取精确信息。
16. Lollipop Chart(棒棒糖图)
棒棒糖图表以一种视觉上令人愉悦的方式提供与有序条形图类似的目的。
17. Dot Plot(点图)
点图传达了条目的排名顺序。由于它沿水平轴对齐,因此可以更容易地看到点彼此之间的距离。
18. Slope Chart(坡度图)
坡度图最适合比较给定项目的“在此之前”和“在此之后”的位置。
19. Dumbbell Plot(哑铃图)
哑铃图传达各种项目的“前”和“后”位置以及项目的排序。
20. Histogram for Continuous Variable(连续变量的直方图)
直方图显示给定变量的频率分布。下面表示基于分类变量对频率条进行分组,从而更好地了解连续变量和串联变量。
21. Histogram for Categorical Variable(类型变量的直方图)
分类变量的直方图显示该变量的频率分布。通过对条形图进行着色,您可以将分布与表示颜色的另一个分类变量相关联。
22. Density Plot(密度图)
密度图是一种常用工具,可视化连续变量的分布。
23. Density Curves with Histogram(直方密度图)
带有直方图的密度曲线将两个图表传达的集体信息汇集在一起,这样您就可以将它们放在一个图形而不是两个图形中。
24. Joy Plot
Joy Plot允许不同组的密度曲线重叠,这是一种可视化相对于彼此的大量组的分布的好方法。它看起来很悦目,并清楚地传达了正确的信息。它可以使用joypy包来轻松构建。
25. Distributed Dot Plot(分布式点图)
分布点图显示按组分割的点的单变量分布。
26. Box Plot(箱形图)
箱形图是一种可视化分布的好方法,记住中位数,第25个第75个四分位数和异常值。
27. Dot + Box Plot(点+箱型图)
Dot + Box plot传送类似于分组的boxplot信息。此外,这些点给出了每组中有多少数据点。
28. Violin Plot(小提琴图)
小提琴图是箱形图的视觉上令人愉悦的替代品。小提琴的形状或面积取决于它所持有的点数。然而,小提琴图可能更难以理解,并且在专业设置中不常用。
29. Population Pyramid(人口金字塔)
人口金字塔可用于显示由volumne排序的组的分布。
30. Categorical Plots(分类图)
由Seaborn库提供的分类图可用于可视化彼此相关的2个或更多分类变量的计数分布。
31. Waffle Chart(华夫饼表)
Waffle表可使用pywaffle包来创建。
32. Pie Chart(饼状图)
饼状图大家应该很熟悉,这里只有一个小建议:明确标记饼状图每个部分的百分比或数字。
33. Treemap(树状图)
34. Bar Chart(条形图)
条形图是根据计数或任何给定指标而可视化条目。在下面的图表中,为每个条目使用了不同的颜色,但通常可能希望为所有条目选择一种颜色,除非按组对它们进行着色。颜色名称存储在all_colors下面的代码中。可以通过设置color参数来更改条形的颜色。
35. Time Series Plot(时间序列图)
时间序列图用于显示给定度量随时间变化的方式。在这里,可以看到1949年至1969年间航空客运量的变化情况。
36. Time Series with Peaks and Troughs Annotated(带波峰波谷标记的时序图)
下面的时间序列绘制了所有的波峰和波谷,并注释了所选特殊事件的发生。
37. Autocorrelation (ACF) and Partial Autocorrelation (PACF) Plot(自相关和部分自相关图)
ACF图显示时间序列与其自身滞后的相关性。
PACF在另一方面显示了任何给定滞后(时间序列)与当前序列的自相关,但是删除了滞后的贡献。
38. Cross Correlation plot(交叉相关图)
互相关图显示了两个时间序列相互之间的滞后。
39. Time Series Decomposition Plot(时间序列分解图)
40. Multiple Time Series(多时间序列)
可以绘制多个时间序列,如下所示。
41. Plotting with different scales using secondary Y axis(使用辅助Y轴来绘制不同范围的图形)
如果要显示在同一时间点测量两个不同数量的两个时间序列,则可以在右侧的辅助Y轴上再绘制第二个系列。
42. Time Series with Error Bands(带有误差带的时间序列)
43. Stacked Area Chart(堆积面积图)
堆积面积图可以直观地显示多个时间序列的贡献程度,因此可以轻松地相互比较。
44. Area Chart UnStacked(未堆积的面积图)
未堆积区域图用于可视化两个或更多个系列相对于彼此的进度(起伏)。在下面的图表中,您可以清楚地看到随着失业中位数持续时间的增加,个人储蓄率会下降。未堆积的区域图表很好地揭示了这种现象。
45. Calendar Heat Map(日历热力图)
与时间序列图相比,日历热力图是基于时间的数据可视化的备选项。虽然可以在视觉上吸引人,但数值并不十分明显。然而,它可以很好地描绘极端值和假日效果。
46. Seasonal Plot(季度图)
47. Dendrogram(树状图)
树形图基于给定的距离度量将相似的点组合在一起,并基于点的相似性将它们组织在树状链接中。
48. Cluster Plot(簇状图)
Cluster Plot可用于划分属于同一群集的点。下面是根据USArrests数据集将美国各州分为5组的代表性示例。该集群图使用“谋杀”和“攻击”列作为X和Y轴。或者,您可以将第一个到主要组件用作X轴和Y轴。
49. Andrews Curve(安德鲁斯曲线)
安德鲁斯曲线有助于可视化是否存在基于给定分组的数字特征的固有分组。如果功能(数据集中的列)无法区分组(cyl)那么线条将不会很好地隔离,如下所示。
50. Parallel Coordinates(平行坐标)
平行坐标有助于可视化特征是否有助于有效地隔离组。如果实现隔离,则该特征可能在预测该组时非常有用。