2016-06-20 53 views
4

所以我需要在python中創建這個圖。我希望刪除我的傳奇邊框。但是,當我嘗試其他海報製作的不同解決方案時,他們無法與我一起工作。請幫忙。無法移除圖例框[python]

這不起作用:

plt.legend({'z$\sim$0.35', 'z$\sim$0.1','z$\sim$1.55'}) 
plt.legend(frameon=False) 

plt.legend({'z$\sim$0.35', 'z$\sim$0.1','z$\sim$1.55'}) 
plt.legend.get_frame().set_linewidth(0.0) 

plt.legend({'z$\sim$0.35', 'z$\sim$0.1','z$\sim$1.55'}, 'Box', 'off') 

此外,當我策劃,我輸入兩個不同的文件,並用線,並與他們繪製圓圈。我怎麼可以在圖例中插入一條線或一個圓圈?

情節:

enter image description here

+0

你能用最小的工作例子重現這一點嗎?因爲使用'plt.legend(frameon = False)'在我之前從未失敗...... – Bart

回答

4

這是因爲該命令非常奇怪:

plt.legend(frameon=False) 

應該很好地工作。 你也可以試試這個命令,來比較:

plt.legend(frameon=None) 

您還可以閱讀此頁上的文檔有關plt.legend

我照本宣科的東西作爲例子給你:

import numpy as np 
import matplotlib.pyplot as plt 


x = np.array([0,4,8,13]) 
y = np.array([0,1,2,3]) 

fig1, ((ax1, ax2)) = plt.subplots(1, 2) 

ax1.plot(x,y, label=u'test') 
ax1.legend(loc='upper left', frameon=False) 

ax2.plot(x,y, label=u'test2') 
ax2.legend(loc='upper left', frameon=None) 

plt.show() 

enter image description here

0

如果只想繪製一個繪圖(無子繪圖),請嘗試此操作

plt.legend({'z$\sim$0.35', 'z$\sim$0.1','z$\sim$1.55'}, frameon=False) 

這是足夠的一plt.legend。第二個重寫第一個。