【问题标题】:matplotlib Legend Markers Only Oncematplotlib 图例标记仅一次
【发布时间】:2011-09-03 01:22:56
【问题描述】:

我经常在 matplotlib 图上绘制一个点:

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

但是,这会导致图例在图例中添加两次星号,如下所示:

* * Global Optimum

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

 *  Global Optimum

我该怎么做?

【问题讨论】:

  • 我希望我能多次支持这个问题。我讨厌默认的numpoints=2 约定,看到有人已经花时间询问并得到答案,我松了一口气。
  • 注意:散点图的选项是scatterpoints=1

标签: python matplotlib


【解决方案1】:

这应该可行:

legend(numpoints=1)

顺便说一句,如果您添加该行

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

到你的 matplotlibrc 文件,那么这将是新的默认值。

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

API:Link to API docs

【讨论】:

【解决方案2】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    • 2014-11-26
    • 2021-09-17
    • 2019-11-03
    • 2019-02-27
    • 2020-11-15
    • 2020-02-05
    相关资源
    最近更新 更多