我經常繪製一個點上matplotlib陰謀有:matplotlib傳奇標記只有一次
x = 10
y = 100
plot(x, y, "k*", label="Global Optimum")
legend()
然而,這將導致傳說把傳說中的明星的兩倍,使得它看起來像:
* * Global Optimum
當我真的希望它看起來像:
* Global Optimum
我該怎麼辦呢?
我經常繪製一個點上matplotlib陰謀有:matplotlib傳奇標記只有一次
x = 10
y = 100
plot(x, y, "k*", label="Global Optimum")
legend()
然而,這將導致傳說把傳說中的明星的兩倍,使得它看起來像:
* * Global Optimum
當我真的希望它看起來像:
* Global Optimum
我該怎麼辦呢?
這應該工作:
legend(numpoints=1)
順便說一句,如果添加行
legend.numpoints : 1 # the number of points in the legend line
您matplotlibrc文件,那麼這將是新的默認。
[見scatterpoints,這取決於你的情節。]
API:Link to API docs
謝謝。我今天也遇到了這個。爲什麼這不是默認? – saltycrane 2011-05-27 06:45:38
你可以添加一個鏈接到api嗎? http://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes.legend我可以在自己編輯它,但這似乎粗魯。 – tacaswell 2013-09-23 18:20:22
忽略我的刪除評論爲什麼默認是它是什麼,他們是錯的。 – tacaswell 2013-09-23 18:28:10
我喜歡動態地改變每個python腳本我matplotlib RC參數。爲了實現這個目標,我簡單地在我的python文件的開頭使用類似的東西。
from pylab import *
rcParams['legend.numpoints'] = 1
這將適用於從我的python文件生成的所有圖。
編輯:對於那些誰不喜歡導入pylab,長的回答是
import matplotlib as mpl
mpl.rcParams['legend.numpoints'] = 1
我希望我能這個問題,多次給予好評。我討厭默認的'numpoints = 2'大會,看到有人已經花時間詢問並得到答案,我感到寬慰。 – 2011-08-14 15:33:18
注意:散點圖的選項是'scatterpoints = 1' – 2014-03-06 16:05:33