可视化常见绘图(四)柱状图
一.柱状图简介
基础柱状图,使用垂直或水平的柱子显示类别之间的数值比较。其中一个轴表示需要对比的分类维度,另一个轴代表相应的数值。
柱状图有别于直方图,柱状图无法显示数据在一个区间内的连续变化趋势。柱状图描述的是分类数据,回答的是每一个分类中【有多少?】这个问题。 需要注意的是,当柱状图显示的分类很多时会导致分类名层叠等显示问题。
二.柱状图的组成
柱状图至少包括以下几个部分:
横轴类别
纵轴数量/数值
图形
图例
三.使用场景
使用的数据:一个分类字段,一个数值字段。
主要功能:对比分类数据的数值大小。
数据条数:不超过30条数据。
适用场景:
- 适合应用到分类数据对比。
不适用场景:
数据类别过多的时候。
要展示数据趋势的时候。
四.实现
在matplotlib中使用bar
函数绘制柱状图,函数的详细介绍和柱状图的标注问题见下方链接。
注:
以下表为例进行柱状图绘制
genre(游戏类型) | sold(销售量) |
---|---|
Sports | 27,500 |
Strategy | 11,500 |
Action | 6,000 |
Shooter | 3,500 |
Other | 1,500 |
完整程序代码如下:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置支持中文
plt.rcParams['axes.unicode_minus'] = False # 设置-号
plt.style.use('ggplot')
genre = ["Sports", "Strategy", "Action", "Shooter", "Other"]
sold = [27500, 11500, 6000, 3500, 1500]
patches = plt.bar(range(len(sold)), sold, width=0.5, color=['red', 'green', 'blue', "cyan", "olive"])
plt.bar_label(patches)
plt.xticks(range(len(sold)), genre, fontsize=15)
plt.xlabel("游戏种类", fontsize=20)
plt.ylabel("销量(个)", fontsize=20)
plt.title("2021年游戏销量对比", fontsize=25, fontweight="bold")
plt.grid()
plt.legend(patches, genre, fontsize=15)
plt.show()
绘制结果如下:
image.png