如何使用 matplotlib 在一个图表中绘制多个水平条?

matplotlibpythondata visualization

要使用 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()

输出

它将产生以下输出 −


相关文章