簡體   English   中英

Python 3.5 Matplotlib等高線圖例

[英]python 3.5 matplotlib contour plot legend

嘗試在圖例中添加圖例:

這是我遇到問題的相關代碼部分:

plt.figure()
CS = plt.contourf(gg, cc, zz_miss)
CS.clabel()
lbl = CS.cl_cvalues
plt.xlabel('gamma')
plt.ylabel('C = 1 / lambda')
plt.legend((lbl), loc= 'upper right')

plt.show()

圖例的圖例標簽是正確的,但是為什么常綠的顏色全部被塗抹並不合適?

它將輪廓圖的文字多邊形作為標記放置。 這是一個問題。

我建議您為顏色圖例創建手動替換。 這是您需要對代碼(生成的合成數據)進行的修改:

import matplotlib.pyplot as plt

plt.figure()
xx,yy = np.meshgrid(range(100),range(100))
gg = np.sqrt(xx*2+yy*2)
CS = plt.contourf(gg) #, cc, zz_miss)
proxy = [plt.Rectangle((0,0),1,1,fc = pc.get_facecolor()[0]) for pc in CS.collections]

plt.legend(proxy, [str(i) for i in range(8)])
plt.xlabel('gamma')
plt.ylabel('C = 1 / lambda')

plt.show()

,結果是這樣的:

手動構建輪廓線的顏色圖例

謝謝。
另外,發現了一個稍微容易一些的: 查看結果

CS = plt.contourf(gg, cc, zz_miss, alpha= 1)
nm, lbl = CS.legend_elements()
plt.legend(nm, lbl, title= 'MyTitle', fontsize= 8) 
plt.xlabel('gamma')
plt.ylabel('C = 1 / lambda')

結果如下:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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