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文件,那么这将是新的默认值。

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

API: 链接到API文档

我喜欢在每个python脚本中dynamic地改变我的matplotlib rc参数。 为了达到这个目的,我简单地在我的python文件的开头使用类似的东西。

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

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

编辑:对于那些不喜欢导入pylab,长的答案是

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