如何繪製柱狀圖

matplotlib.pyplot模組可使用bar()方法進行繪製柱狀圖,使用方式和plot()方法差不多,其語法如下:

plt.bar(x座標串列, y座標串列,
   [bottom=y座標繪製起始位置, color="顏色名稱", label="圖例名稱"])

[簡例] 將plt03.pyiPhone歷年銷售量的圖表改使用柱狀圖呈現,同時在圖表中顯示網格。(檔名:plt05.py)

[結果]

說明

  1. 8行:使用bar()方法繪製柱狀圖。
  2. 16行:設定圖表顯示網格線。

如何繪製疊加柱狀圖

若以相同方法將plt04.py的線條圖改使用bar()方法顯示柱狀圖(範例可參考plot06.py),結果會發現由於各類手機歷年銷售量各有增減。所以柱狀圖的顏色會互相覆蓋,如此即無法明確瞭解被覆蓋手機的資訊。

因此可以透過繪製疊加柱狀圖來解決此問題,也就是目前繪製手機的y座標起始位置是由前一個手機的y座標最終值開始繪製,此時即可以在bar()方法使用bottom參數來設定柱狀圖y座標要繪製的起始位置。

[簡例] 以疊加柱狀圖的方式繪製2017~2022年手機的歷年銷售量圖表。 (檔名:plt07.py)

[結果]

說明

  1. 8行:繪製iPhone歷年銷售量的柱狀圖。
  2. 11行: 繪製ASUS歷年銷售量的柱狀圖。此柱狀圖的y座標繪製起點為iPhone銷售量。
  3. 13~15行:將 iPhoneASUS 歷年銷售量進行相加並指定給 listY,用來當做是 Google歷年銷售量的柱狀圖 y座標繪製起點。
  4. 17行: 繪製Google手機歷年銷售量的柱狀圖,柱狀圖y座標繪製起點是iPhone 加上 ASUS 歷年銷售量。

相關主題與延伸閱讀