如何将同一图例(标签)设置为绘图中的不同散点?

2024-04-19 22:11:09 发布

您现在位置:Python中文网/ 问答频道 /正文

需要一些关于matplotlib/pylab处理图例的指导。你知道吗

for xe, ye in zip(dist, liston):
    plt.scatter([xe] * len(ye), ye, s = 200, color = 'darkseagreen')

其中:

dist = [2.0, 4.0, 6.0, 8.0, 10.0, 12.0, 14.0, 16.0, 18.0, 20.0]
liston = [[-46.6, -46.7, -53.0], [-52.4, -50.7, -51.0], [-54.2, -54.0, -52.8], [-53.3, -51.4, -54.2], [-56.8, -54.4, -52.4], [-55.5, -54.9, -55.7], [-59.1, -59.4, -57.0], [-58.4, -54.8, -58.8], [-56.7, -55.5, -62.3], [-56.2, -57.5, -59.1]]

我的绘图现在有点的距离(liston x dist),误差栏和平均措施每距离(x轴)。我有一个关于错误和平均值的传说,但是我没有做到这点。你知道吗

因为我在一个循环中运行散点图,如果我尝试在那里添加标签,我将得到10个相同的图例,这不是我想要的(需要将我的10个散点图视为一个)

任何见解都是有用的!你知道吗

谢谢你的时间。你知道吗


Tags: in距离forlenmatplotlibdistpltzip
1条回答
网友
1楼 · 发布于 2024-04-19 22:11:09

我会去掉循环,画一个散点图。你知道吗

import matplotlib.pyplot as plt
import numpy as np

dist = [2.0, 4.0, 6.0, 8.0, 10.0, 12.0, 14.0, 16.0, 18.0, 20.0]
liston = [[-46.6, -46.7, -53.0], [-52.4, -50.7, -51.0], [-54.2, -54.0, -52.8], 
          [-53.3, -51.4, -54.2], [-56.8, -54.4, -52.4], [-55.5, -54.9, -55.7], 
          [-59.1, -59.4, -57.0], [-58.4, -54.8, -58.8], [-56.7, -55.5, -62.3], 
          [-56.2, -57.5, -59.1]]

y = np.array(liston).T
x = np.tile(dist, len(y))

plt.scatter(x, y, s = 200, color = 'darkseagreen', label="MyLabel")
plt.legend()

plt.show()

相关问题 更多 >