import matplotlib.pyplot as plt
plt.rcdefaults() # 回复缺省的RC参数
import numpy as np
import matplotlib.pyplot as plt
plt.rcdefaults()
fig,ax = plt.subplots() # ax为子图
# 数据生成
people = ('Tom', 'Dick', 'Harry', 'Slim', 'Jim')
y_pos = np.arange(len(people)) # 根据人数生成的数据组y_post=[0,1,2,3,4]
performance = 3 + 10 * np.random.rand(len(people)) # 生成5个元素的随机数组
error = np.random.rand(len(people)) # 生成5个元素的随机数组0-1之间
# 数据显示
ax.barh(y_pos, performance, xerr=error, align='center',color='green', ecolor='black')
# y_pos 横坐标, performance 纵坐标,xerr=error 误差图显示,
# align='center'数据标签显示在柱子中心,color='green'柱子颜色, ecolor='black'柱子边缘颜色
ax.set_yticks(y_pos) # 设置纵坐标的刻度
ax.set_yticklabels(people) # 设置纵坐标的标签(人名)
ax.invert_yaxis() # 把Y反转,取消这一行运行一下就明白了
ax.set_xlabel('Performance') # 显示X轴标签
ax.set_title('How fast do you want to go today?') # 设置图头
plt.show() # 显示图片
本例代码来自官方实例,本文进行了注解,帮助学习和查询。
运行结果: