如何在我的图中将相同的图例(标签)设置为不同的散点?

Posted

技术标签:

【中文标题】如何在我的图中将相同的图例(标签)设置为不同的散点?【英文标题】:How to set the same legend (Label) to different scatter points in my plot? 【发布时间】:2020-01-14 17:22:09 【问题描述】:

需要一些使用 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 个散点图视为一个)

任何见解都会有所帮助!

感谢您的宝贵时间。

【问题讨论】:

【参考方案1】:

我会摆脱循环并绘制一个散点图。

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()

【讨论】:

谢谢你,'...'欧内斯特(?)!这正是我想要的,以一种我无法想象的方式(:最好的问候

以上是关于如何在我的图中将相同的图例(标签)设置为不同的散点?的主要内容,如果未能解决你的问题,请参考以下文章

在基础R的散点图中转换图例的形状和颜色

如何在 MATLAB 2014b 的散点图中增加图例的标记大小? [复制]

如何在python的散点图中添加具有不同标记的多个图例?

pyplot图例中的散点标签颜色错误

将图例描述设置为颜色表示

如何修改散点图图例以显示相同类型句柄的不同格式?