前幾天介紹了如何使用 Matplotlib 創建基本的圖表,現在來說說一些進階的繪圖技巧,這些技巧可以使圖表展現更多資訊。
子圖
子圖讓我們可以在同一張圖中展示多個圖表,可以使用 plt.subplot() 或 plt.subplots() 來創建子圖。
x = [1, 2, 3, 4, 5]
y1 = [10, 5, 7, 12, 9]
y2 = [3, 8, 2, 10, 7]
plt.subplot(1, 2, 1) # 1 行, 2 列, 第 1 個圖表
plt.plot(x, y1)
plt.title('圖表 1')
plt.subplot(1, 2, 2) # 1 行, 2 列, 第 2 個圖表
plt.plot(x, y2)
plt.title('圖表 2')
plt.tight_layout()
plt.show()
使用 plt.tight_layout() 確保圖表不會重疊。
註解
註解可以用來標記圖表中特定的數據點。使用 plt.annotate() 來向某個數據點添加。
x = [1, 2, 3, 4, 5]
y = [10, 5, 7, 12, 9]
plt.plot(x, y)
plt.annotate('最高點', xy=(4, 12), xytext=(3, 11),
arrowprops=dict(facecolor='black', shrink=0.05))
plt.show()
xy 參數是數據點的位置,xytext 是註解文字的位置,而 arrowprops 是用來畫箭頭的設定。
格線
格線可以幫助更清楚地閱讀圖表,方便對齊數據點。透過 plt.grid() 來啟用並自訂格線的樣式。
plt.plot(x, y)
plt.grid(True, which='both', linestyle='--', linewidth=0.5)
plt.show()
這裡的 which='both' 是啟用 x 軸和 y 軸的格線,而 linestyle 和 linewidth 則分別設定格線的樣式與寬度。
調整圖表大小和解析度
可以透過 plt.figure() 來調整圖表的寬度、高度以及解析度(dpi)。
plt.figure(figsize=(8, 6), dpi=100)
plt.plot(x, y)
plt.show()
figsize:設定圖表的寬度和高度。
dpi:參數則是解析度設定,數值越高圖表越清晰。