Matplotlib 水平条形图

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

输出结果如下:
Matplotlib 水平条形图

水平条形图也可以使用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()

输出结果如下:
Matplotlib 水平条形图

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 添加图例
Matplotlib 添加文本

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程