如何在 Matplotlib 中建立一個發散堆疊條形圖?


要在 Matplotlib 中建立一個發散堆疊條形圖,我們可以採取以下步驟 -

  • 設定圖形大小並調整子圖之間和周圍的填充。
  • 初始化變數 N 以獲取索引數量。
  • 獲取 menMeans、womenMeans、menStdwomenStd 元組。
  • 初始化條形的 寬度。
  • 建立一個圖形和一組子圖。
  • 要獲得發散柱形,我們可以將具有正值和負值的​​資料放入其中以形成發散柱形。
  • 在軸上新增一條水平線。
  • 設定 Ylabel、title、ticks、ticklabelslegend。
  • 要顯示圖形,請使用 show() 方法。

示例

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

N = 5
menMeans = (20, -35, 30, 35, -27)
womenMeans = (25, -32, 34, 20, -25)
menStd = (2, 3, 4, 1, 2)
womenStd = (3, 5, 2, 3, 3)

ind = np.arange(N)
width = 0.35
fig, ax = plt.subplots()

p1 = ax.bar(ind, menMeans, width, yerr=menStd, label='Men')
p2 = ax.bar(ind, womenMeans, width, bottom=menMeans, yerr=womenStd, label='Women')
ax.axhline(0, color='grey', linewidth=0.8)
ax.set_ylabel('Scores')
ax.set_title('Scores by group and gender')
ax.set_xticks(ind)
ax.set_xticklabels(('G1', 'G2', 'G3', 'G4', 'G5'))
ax.legend()

plt.show()

輸出

更新於: 07-7-2021

892 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

立即開始
廣告