簡體   English   中英

在圖例中將兩個 matplotlib 標記合並為一個

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM