横向柱状图
import matplotlib.pyplot as plt
import numpy as np
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=21)
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
构建数据
x_data = x_axis
y_data = y_axis
plt.figure(figsize=(10,18))
bar_width=0.5
# Y轴数据使用range(len(x_data), 就是0、1、2...
plt.barh(y=range(len(x_data)), width=y_data,
color='steelblue', alpha=0.5, height=bar_width)
# Y轴数据使用np.arange(len(x_data))+bar_width,
# 就是bar_width、1+bar_width、2+bar_width...这样就和第一个柱状图并列了
# 在柱状图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式
for y, x in enumerate(y_data):
plt.text(x+50, y-bar_width/2, '%s' % x, ha='center', va='bottom')
# 为Y轴设置刻度值
plt.yticks(np.arange(len(x_data))+bar_width/2, x_data)
# 设置标题
plt.title("各项目放款金额对比")
# 为两条坐标轴设置名称
plt.xlabel("金额(万元)")
plt.ylabel("项目")
# 显示图例
plt.show()