Matplotlib 水平条形图,极客教程前面介绍了垂直方向排列的条形图,本文介绍水平方向的条形图,这种模式的条形图可以用barh()
函数实现。也可以使用bar()
函数实现,这时需要设置参数orientation
的值为horizontal
。
阅读本章内容可以先了解极客教程的前面几个章节介绍的Matplotlib
相关知识:条形图,直方图,线性图,添加图例。
对函数barh()
而言,bar()
函数的参数和关键字参数依然有效,需要注意的是:两条轴的用途跟垂直条状图刚好相反,水平条状图中,类别分布在y
轴上,数值显示在x
轴上。如下所示:
import matplotlib.pyplot as plt
import numpy as np
index = np.arange(5)
values1 = [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.barh(index, values1, xerr=std1, error_kw={'ecolor':'0.1', 'capsize':6}, alpha=0.7, label='First')
plt.yticks(index,['A', 'B', 'C', 'D', 'E'])
plt.legend(loc=5)
plt.show()
输出结果如下:
水平条形图也可以使用bar()
函数实现,这时需要设置参数orientation
的值为horizontal
,如下所示,两种实现方式,执行结果是一样的。
import matplotlib.pyplot as plt
import numpy as np
N = 5
y = [20, 30, 10, 25, 15]
index = np.arange(N)
plt.title("geek-docs.com", fontsize=20, fontname="Times New Roman")
plt.bar(x=0, bottom=index, width=y, height=0.5, color='red', orientation='horizontal')
plt.show()
输出结果如下:
import matplotlib.pyplot as plt
import numpy as np
N = 5
y = [20, 30, 10, 25, 15]
index = np.arange(N)
plt.title("geek-docs.com", fontsize=20, fontname="Times New Roman")
plt.barh(index, width=y, height=0.5,color='red')
plt.show()
输出结果如下:
极客教程相关文章推荐:
Matplotlib 条形图
Matplotlib 直方图
Matplotlib 线性图
Matplotlib 添加图例
Matplotlib 添加文本