《Python数据分析实战》
1.条状图
另外一种常用的图表类型为条状图。它跟直方图很相似,只不过x轴表示不是数值而是类别。用matplotlib的bar()函数生成条状图很简单。
import matplotlib.pyplot as plt
index = [0,1,2,3,4]
values = [5,7,3,4,6]
plt.bar(index,values)
实际上,我们还可以借助很多其他步骤进一步改进条状图。每一种改进方法都是通过在bar()函数中添加特定的关键字参数来实现的。
例如,把包含标准差的列表传给yerr关键字参数,就能添加标准差。这个参数常跟error_kw参数一起使用,而后者又接收其他可用于显示误差线的关键字参数。常用的两个是eColor和capsize,eColor指定误差线的颜色,而capsize指定误差线两头横线的宽度。会有一个参数叫作alpha,它控制的是彩色条状图的透明度。alpha的取值范围为0-1,0表示对象完全透明,随着alpha值的增加,对象逐渐清晰起来,到1时,颜色显示全了。照例我建议你在图表中添加图例。请用label关键字参数,为图表中的序列指定名称。
#index = np.arange(5)
index = ['A','B','C','D','E']
values1 = [5,7,3,4,6]
plt.title('A Bar Chart')
std1 = [0.8,1,0.4,0.9,1.3]
plt.bar(index,values1,yerr=std1,error_kw={
'ecolor':'0.1', 'capsize':6},alpha=1,label='First')
plt.show()
水平条状图:
前面讲的都是沿垂直方向排列的条状图,实际上会有水平方向的条状图。这种模式的条状图用barh()函数实现。
#index = np.arange(5)
index = ['A','B','C','D','E']
values1 = [5,7,3,4,6]
plt.title('A Bar Chart')
std1 = [0.8,1,0.4,0.9,1.3]
plt.barh(index,values1,xerr=std1,error_kw={
'ecolor':'0.1', 'capsize':6},alpha=1,label='First')
plt.legend(loc=5)
plt.show()