在Matplotlib中和在pyecharts绘图时我们经常用到的Bar,那Bar这到底是柱状图、条形图还是直方图呢?
目录
1、柱状图
2、条形图
3、直方图
接下来我们就先来了解柱状图和直方图的区别:
在pyecharts里面我们可以通过以下方式设置间隔:
1、柱状图
柱状图最适合对分类的数据进行比较。尤其是当数值比较接近时,由于人眼对于高度的感知优于其他视觉元素(如面积、角度等),因此,使用柱状图更加合适。
柱状图最核心的功能是比较,比较的核心是高度。如果人为的改变高度,那么数据间的比例关系会失常。因此,在使用柱状图时,要注意y轴的取值,从0开始。柱状图最核心的功能是比较,比较的核心是高度。如果人为的改变高度,那么数据间的比例关系会失常。因此,在使用柱状图时,要注意y轴的取值,从0开始。
有时候,这种高度上的“人为操作”,甚至会采用更隐蔽的形式。智利前总统Sebastian Piñera曾在竞选时展示自己的政绩,他执政的2010年有着最高的红色柱子,对手执政的2013年则矮的可怜。乍看之下颇有说服力,但仔细比对,几个柱子之间的数量关系明显失调(比如,2013与2016年相差4.5%,高度差却与蓝色的柱子,即22.8%差不多大;2010与2016年相差3.4%,高度差却远小于2013与2016年的4.5%)。显然,这张图也是动过手脚的。
柱状图使用垂直或水平的柱子显示类别之间的数值比较,用于描述分类数据,并统计每一个分类中的数量。您也可以绘制多个矩形对应同一个分类属性,分为分组和层叠两种模式,进而分析该分类数据在不同维度上的区别。
参数 | 说明 |
X轴 | 一般为分类数据。 |
Y轴 | 可以配置一列或多列数据对应到左轴数值区间。 |
图例位置 | 图例在图表中的位置,可以配置为上、下、左和右。 |
Y轴格式化 | 将Y轴数据按照指定格式进行显示。 |
Y轴最小值 | 设置Y轴最小值。 |
Y轴最大值 | 设置Y轴最大值。 |
图例宽度 | 设置图例宽度。 |
X轴刻度密度 | 设置X轴刻度密度,取值范围为3~30。 |
是否堆叠 | 开启该功能后,将堆叠显示Y轴数据。 |
是否开启标记 | 开启该功能后,显示各个柱状体对应的数值。 |
边距 | 坐标轴距离图表边界距离,包括上、下、左、右边距。 |
2、条形图
条形图是柱状图另一种形式,即横向柱状图。条形图通常用于分析Top场景,配置方式也和柱状图类似。
条形图矩形块高度一定,宽度代表数值大小。有多列数据映射到Y轴时,采用分组柱状形式显示。
基本构成如下:
- X轴(纵轴)
- Y轴(横轴)
- 矩形块
- 图例
参数 | 说明 |
X轴 | 一般为分类数据。 |
Y轴 | 可以配置一列或多列数据对应到左轴数值区间。 |
图例位置 | 图例在图表中的位置,可以配置为上、下、左和右。 |
X轴格式化 | 将X轴数据按照指定格式进行显示。 |
图例宽度 | 设置图例宽度。 |
Y轴刻度密度 | 设置Y轴刻度密度,取值范围为3~30。 |
是否开启标记 | 开启该功能后,显示各个条形体对应的数值。 |
边距 | 坐标轴距离图表边界距离,包括上、下、左、右边距。 |
3、直方图
直方图,又称质量分布图,用于表示数据的分布情况,是一种常见的统计图表。 一般用横轴表示数据区间,纵轴表示分布情况,柱子越高,则落在该区间的数量越大。根据数据分布状况不同,直方图展示的数据有不同的模式,包括对称单峰、偏左单峰、偏右单峰、双峰、多峰以及对称多峰。
构建直方图,首先要确定“组距”、对数值的范围进行分区,通俗的说即是划定有几根柱子(例如0-100分,每隔10分划一个区间,共10个区间)。接着,对落在每个区间的数值进行频次计算(如落在50-60分的2人,60-70分的6人,如下图)。 最后,绘制矩形,高度由频数决定。
值得一提的是,选择不同的“组距”,绘制出的图表也不同,也可能使我们得出不同的结论。为了避免片面的情况,建议多次调试组距。有时,人们也会把几个直方图叠在一起比较,但类别最好不超过3个。
4、柱状图、直方图的选择
直方图与柱状图看似相像,实则完全不同。前者反映数据分布情况,后者则不具备此功能,只能对数值进行比较。从数据结构来说,柱状图要求至少一个分类变量,它们之间是离散的(如2019、2020、2021、2022),绘制为柱状图时,柱子与柱子之间有间隔。如果是连续型变量(如班上同学的成绩),则应当使用直方图,绘制出每个区间的数值(如落在每个分数段的人数),柱子之间是连续的、没有间隔(有时为了美观会留出间隔,但间隔极小)。
部分内容参考于图之典与阿里云