Matplotlib 条形图

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()

输出结果如下所示:
Matplotlib 条形图

由于每个长条对应的是一种类别,最好用刻度标签标明其类别,方法是把表示各个类别的字符串传递给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()

输出结果如下所示:
Matplotlib 条形图

添加图例

极客教程专门有一章节介绍添加图例,本文添加方式不太一样,是直接通过传递参数来实现。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 添加图例
Matplotlib 添加文本

赞(6)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址