如何在我的图中将相同的图例(标签)设置为不同的散点?
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()
【讨论】:
谢谢你,'...'欧内斯特(?)!这正是我想要的,以一种我无法想象的方式(:最好的问候以上是关于如何在我的图中将相同的图例(标签)设置为不同的散点?的主要内容,如果未能解决你的问题,请参考以下文章