matplotlib传奇标记只有一次

时间:2011-05-27 01:08:06

标签: python matplotlib

我经常用matplotlib图绘制一个点:

x = 10
y = 100
plot(x, y, "k*", label="Global Optimum")
legend()

但是,这会导致图例在图例中放置一个星形,如下所示:

* * Global Optimum

当我真的希望它看起来像:

 *  Global Optimum

我该怎么做?

2 个答案:

答案 0 :(得分:248)

这应该有效:

legend(numpoints=1)

顺便说一下,如果添加行

legend.numpoints     : 1      # the number of points in the legend line

到你的matplotlibrc文件,然后这将是新的默认值。

[另请参阅散点图,具体取决于您的情节。]

API:Link to API docs

答案 1 :(得分:25)

我喜欢在每个python脚本中动态更改matplotlib rc参数。为了实现这个目标,我只需在python文件的开头使用类似的东西。

from pylab import *
rcParams['legend.numpoints'] = 1

这将适用于从我的python文件生成的所有图。

编辑:对于那些不喜欢导入pylab的人来说,答案很长

import matplotlib as mpl
mpl.rcParams['legend.numpoints'] = 1