在 Matplotlib 中,marker
用于標記數據點,可通過多種參數自定義樣式。以下是詳細說明及示例:
1. 基礎設置
-
常用 marker 類型:
'.' : 點 ',' : 像素 'o' : 圓圈 'v' : 下三角形 '^' : 上三角形 '<' : 左三角形 '>' : 右三角形 's' : 正方形 'p' : 五邊形 '*' : 星形 'h' : 六邊形1 'H' : 六邊形2 '+' : 加號 'x' : 叉號 'D' : 菱形 'd' : 小菱形 '|' : 豎線 '_' : 橫線
-
設置方式:
plt.plot(x, y, marker='o') # 圓圈 plt.scatter(x, y, marker='s') # 正方形
2. 高級自定義
-
大小與顏色:
plt.plot(x, y, marker='o', # 圓形標記markersize=10, # 大小(縮寫 ms)markerfacecolor='red', # 填充顏色(縮寫 mfc)markeredgecolor='blue', # 邊緣顏色(縮寫 mec)markeredgewidth=2) # 邊緣寬度(縮寫 mew)
-
填充樣式:
plt.plot(x, y, marker='o', fillstyle='none') # 空心圓 # 選項:'full'(默認), 'left', 'right', 'top', 'bottom'
3. 組合示例
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0, 10, 5)
y = np.sin(x)plt.plot(x, y, marker='D', # 菱形標記markersize=12,markerfacecolor='yellow', # 填充黃色markeredgecolor='black', # 邊緣黑色markeredgewidth=1.5,linestyle='--', # 虛線連接color='green')plt.title('Custom Marker Demo')
plt.show()
4. 特殊標記
-
自定義路徑(高級):
from matplotlib.path import Path star_verts = [(0,1), (0.5,0.2), (1,1), (0.2,0.5), (0.8,0.5), (0,1)] custom_marker = Path(star_verts) plt.scatter(x, y, marker=custom_marker, s=500)
-
TeX 符號:
plt.plot(x, y, marker=r'$\alpha$', markersize=15) # 用α符號標記
5. 散點圖專用
在 plt.scatter()
中:
plt.scatter(x, y, s=100, # 標記大小(面積)c='purple', # 顏色edgecolors='black', # 邊緣色linewidths=1.5, # 邊緣寬度marker='^') # 三角形
6. 常見問題解決
- 標記不顯示:檢查
marker
參數是否拼寫錯誤(如marker='0'
應為marker='o'
)。 - 大小異常:在
scatter()
中s
是面積值,需遠大于plot()
的markersize
(如s=100
)。 - 空心標記:設置
fillstyle='none'
并指定markeredgecolor
。
通過組合這些參數,可創建高度定制化的數據標記樣式!