Matplotlib 条形图,条形图非常常见,它与直方图极其相似,只不过x轴表示的不是数值而是类别,使用matplotlib的bar()函数就可以生成简单的条形图。
阅读本章内容可以先了解极客教程的前面几个章节介绍的Matplotlib相关知识:直方图,线性图,添加图例。
绘制条形图
如下所示,几行代码就可以绘制出条形图。
import matplotlib.pyplot as plt index = [0,1,2,3,4] values = [5,7,3,4,6] plt.bar(index, values) plt.title("geek-docs.com", fontsize=20, fontname="Times New Roman") plt.show()
输出结果如下所示:
由于每个长条对应的是一种类别,最好用刻度标签标明其类别,方法是把表示各个类别的字符串传递给xticks()参数。至于刻度标签的位置,你需要把表示它们在x轴上位置的数值列表传递给
xticks()函数,作为它的第一个参数。如下所示:
import matplotlib.pyplot as plt index = [0,1,2,3,4] values = [5,7,3,4,6] plt.bar(index, values) plt.title("geek-docs.com", fontsize=20, fontname="Times New Roman") plt.xticks(index,['A', 'B', 'C', 'D', 'E']) plt.show()
输出结果如下所示:
添加图例
极客教程专门有一章节介绍添加图例,本文添加方式不太一样,是直接通过传递参数来实现。bar()函数还可以传入其他参数实现特定功能,把标准差的列表传给yerr参数,就能添加标准差。
- error_kw:用于接收其他可用于显示误差线的关键字参数。eColor参数指定误差线的颜色,capsize参数指定误差线两头横线大的宽度。
- alpha:控制彩色条形图的透明度,取值范围是0-1,0表示完全透明,随alpha的增加,对象逐渐清晰起来,到1时不透明。
- label:为图表中的序列指定名称。
import matplotlib.pyplot as plt import numpy as np index = np.arange(5) values = [5,7,3,4,6] std1=[0.8, 1, 0.4, 0.9, 1.3] plt.title("geek-docs.com", fontsize=20, fontname="Times New Roman") plt.bar(index, values, yerr=std1,error_kw={'ecolor':'0.1', 'capsize':6}, alpha=0.7, label='First') plt.xticks(index,['A', 'B', 'C', 'D', 'E']) plt.legend(loc=2) plt.show()
输出结果如下:
极客教程相关文章推荐:
Matplotlib 直方图
Matplotlib 线性图
Matplotlib 添加图例
Matplotlib 添加文本
版权声明:本页面内容旨在传播知识,为用户自行发布,若有侵权等问题请及时与本网联系,我们将第一时间处理。E-mail:284563525@qq.com