回顾下柱形图怎么展示
matplotlib.pyplot.bar
matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)
先试用一下
import matplotlib.pyplot as plt
x = [1,2,3,4]
height = [10,20,30,40]
plt.bar(x,height)
plt.show()
上面,我们的x
,指定的是横轴的坐标,也就是柱形图的位置,但是通常来说,柱形图的横坐标不会是数字,只需要改一下x
就行了
x = ['a','b','c','d']
height = [10,20,30,40]
plt.bar(x,height)
plt.show()
height
,就是我们指定的柱形图的高度,这个是符合需求的,没啥问题
我们再看看其他参数
默认宽度0.8,可以,先不管他,其他的参数好像也没啥,来看看官方的例子吧
- 使用xticks指定标签
官方的例子,不是和我在上面一样,直接指定标签的,是这样做的:
x = np.arange(1,5)
height = [10,20,30,40]
plt.bar(x , height , label='apple')
plt.xticks(x , labels=['a','b','c','d'])
plt.legend()
plt.show()
- 多个维度
通常柱形图还会用来对比,一对比,就会有多个维度
这里多个维度的话,需要手工指定位置,这个稍微有点儿麻烦感觉
x = np.arange(1,5)
height_one = np.random.randint(10 , size=4)
height_two = np.random.randint(10 , size=4)
width = 0.4
plt.title('demo of bar !')
plt.bar(x-width/2 , height_one , width=width , label='apple')
plt.bar(x+width/2 , height_two , width=width ,label='orange')
plt.xticks(x , labels=['a','b','c','d'])
plt.legend()
plt.show()
这要是有三四个维度,指定x轴位置我还得思考下呢
- 显示数字标签
这个也有点儿麻烦,官方的例子里,是自己画的,自己画的
用这个画matplotlib.pyplot.annotate
然后,需要对每一个柱形图画,也就是增加一个文本描述,想想就麻烦呦,自行参考下官方文档吧,有个遍历函数,可以参考下