gpt4 book ai didi

python - Matplotlib 图例 : how to assign multiple scatterpoints values

转载 作者:太空狗 更新时间:2023-10-30 03:06:51 26 4
gpt4 key购买 nike

我在 python 中使用 matplotlib 库来生成出版质量的 xy 散点图。我遇到了关于图例中标记的问题。我正在绘制 2 个不同的 xy 散点系列;一个是形成曲线的一组 xy 点,另一个是单个 xy 点。

我希望图例为“曲线”显示 3 个标记,为单个点显示 1 个标记。我知道如何更改图例标记数量的唯一方法是在声明图例时使用“散点”参数。但是,此参数设置图例中所有 系列的标记数,我不确定如何单独更改每个图例条目。

遗憾的是我不能以新用户的身份发布图片,但希望这个描述足够了。 有没有办法使用 matplotlib 为每个图例条目单独设置散点值?

编辑:这里是显示具有不同散点值的图像的链接。

散点 = 3:http://imgur.com/8ONAT

散点 = 1:http://imgur.com/TFcYV

希望这能让问题更清楚一些。

最佳答案

你可以拿到图例中的那条线,自己改:

import numpy as np
import pylab as pl
x = np.linspace(0, 2*np.pi, 100)
pl.plot(x, np.sin(x), "-x", label=u"sin")
pl.plot(x, np.random.standard_normal(len(x)), 'o', label=u"rand")
leg = pl.legend(numpoints=3)
l = leg.legendHandles[1]
l._legmarker.set_xdata(l._legmarker.get_xdata()[1:2])
l._legmarker.set_ydata(l._legmarker.get_ydata()[1:2])
##or
#l._legmarker.set_markevery(3)
pl.show()

Legend.legendHandles是图例中所有线条的列表,线条的_legmarker属性就是标记。

您可以调用 set_markevery(3) 或 set_xdata() & set_ydata() 来更改标记数。

enter image description here

关于python - Matplotlib 图例 : how to assign multiple scatterpoints values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6961591/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com