如何在Matplotlib中绘制多条水平柱状图?
要在Matplotlib中绘制多条水平柱状图,我们可以按照以下步骤进行:
步骤
-
导入pandas、matplotlib和numpy库。
-
设置图形大小,调整子图之间和周围的间距。
-
为水平柱形图的位置创建一个数组。
-
初始化变量 width 以设置柱形的宽度。
-
创建一个水平柱状图。
-
设置Y轴刻度和刻度标签,并设置一些限制。
-
在右上角的位置上放置一个图例。
-
使用 show() 方法来显示图形。
示例
import pandas
import matplotlib.pyplot as plt
import numpy as np
# 设置图形大小
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
# 为水平柱形图的位置创建数组
ind = np.array([0, 1, 2])
# 柱形的宽度
width = 0.4
fig, ax = plt.subplots()
# 水平柱状图
ax.barh(ind, np.array([4, 3, 5]), width, color='orange', label='N')
ax.barh(ind + width, np.array([2, 5, 2]), width, color='blue', label='M')
# 设置Y轴刻度和刻度标签
ax.set(yticks=ind + width, yticklabels=np.array(['A', 'B', 'C']),
ylim=[2*width - 1, len(ind)])
# 放置图例在右上角
ax.legend(loc='upper right')
# 显示图形
plt.show()
输出
它将会生成以下输出: