matplotlib 图例标记只显示一次
我经常在matplotlib图表上绘制一个点,使用的是:
x = 10
y = 100
plot(x, y, "k*", label="Global Optimum")
legend()
但是这样做会导致图例中出现两个星星,结果看起来像这样:
* * Global Optimum
而我其实想要的效果是:
* Global Optimum
我该怎么做呢?
2 个回答
24
我喜欢在每个Python脚本中动态地更改我的matplotlib设置。为了实现这个目标,我通常在我的Python文件开头使用类似下面的代码。
from pylab import *
rcParams['legend.numpoints'] = 1
这样做会对我在这个Python文件中生成的所有图表生效。
补充说明:对于那些不喜欢导入pylab的人,下面是更详细的答案。
import matplotlib as mpl
mpl.rcParams['legend.numpoints'] = 1
255
这个应该可以正常工作:
legend(numpoints=1)
顺便说一下,如果你在你的matplotlibrc文件中添加这一行:
legend.numpoints : 1 # the number of points in the legend line
那么这将成为新的默认设置。
[另外,关于散点图,你可以根据你的图表来调整。]
API文档:点击这里查看API文档