[英]Combine two matplotlib markers into one in legend
為了有一個自定義標記,我制作了兩個具有相同數據點但標記不同的散點圖。 因此,通過在另一個標記上繪制一個標記,我得到了一個新的自定義標記的外觀。 現在我想在傳說中使用它。 有沒有一種方法可以在圖例中使用兩個標記,一個在另一個之上,並將它們顯示為一個標記。
編輯:問題不在於如何為兩個不同的標記共享相同的 label,而是如何在圖例中將 plot 一個標記放在另一個標記之上
使用標記元組回答了這個問題;
from numpy.random import randn
m=np.random.uniform(size=10)
x=np.arange(0,10,1)
y=x**2
fig, ax = plt.subplots(1,1)
blue_dot = ax.scatter(x[:5],y[:5], s=m*100, color='b')
red_dot = ax.scatter(x[5:],y[5:], s=200*m, color='r')
black_cross = ax.scatter(x[5:],y[5:], s=400*m, marker='+', color='k')
lgnd = ax.legend([blue_dot, (red_dot, black_cross)], ["Blue Circle", "Red Circle and Black Cross"])
現在我想改變圖例中標記的大小,使所有標記的大小相等。 為此,我嘗試將其添加到上面的代碼中。
lgnd.legendHandles[0]._sizes = [200]
lgnd.legendHandles[1]._sizes = [200] # this is affecting the size of red_dot only
如何在圖例中更改 black_cross 的大小?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.