向具有两组数据的散点图添加图例

Posted

技术标签:

【中文标题】向具有两组数据的散点图添加图例【英文标题】:Adding a legend to a scatter plot with two sets of data 【发布时间】:2017-10-28 22:42:44 【问题描述】:

我按以下方式绘制数据:

G=[(1.42*1e-5, 8.5*1e-2), (1.19*1e-5, 7.8*1e-2), (1.03*1e-5, 6*1e-2), (8.95*1e-6, 4.7*1e-2), (7.63*1e-6, 3.8*1e-2), (7.12*1e-6, 3.2*1e-2), (5.72*1e-6, 2.6*1e-2)]
PN=[5*1e3, 10*1e3, 20*1e3, 40*1e3, 80*1e3, 120*1e3, 200*1e3]


figure(5,figsize=(12,10))
for PNe, Ge, in zip(PN, G):
    scatter([PNe]*len(Ge), Ge, color=['red', 'green'])
grid()
xlim(xmin=0, xmax=200000)
#ylim(ymin=0, ymax=1)
xlabel('Number of particles')
ylabel(r'Energy release rate')
legend(['$G_simulation$','$G_analytical$'])

我得到的传说如下:legend

如您所见,颜色属性不正确。 我需要将 red 分配给 G_analytical 并将 green 分配给 G_simulation。 我在这里做错了什么?

谢谢

【问题讨论】:

【参考方案1】:

所以这是交易, 只需将绘图格式更改为

Gs=[8.5*1e-2, 7.8*1e-2, 6*1e-2, 4.7*1e-2, 3.8*1e-2, 3.2*1e-2, 2.6*1e-2]
Ga=[1.42*1e-5, 1.19*1e-5, 1.03*1e-5, 8.95*1e-6, 7.63*1e-6, 7.12*1e-6, 5.72*1e-6]
PN=[5*1e3, 10*1e3, 20*1e3, 40*1e3, 80*1e3, 120*1e3, 200*1e3]


figure(5,figsize=(12,10))
scatter(PN, Gs, color='red', label='$G_Simulation$')
scatter(PN, Ga, color='green', label='$G_Analytical$')

grid()
xlim(xmin=0, xmax=200000)
#ylim(ymin=0, ymax=1)
xlabel('Number of particles')
ylabel(r'Energy release rate')
legend()

完成这项工作。 结果如下:Label with correct color assignment

我们去吧。

【讨论】:

以上是关于向具有两组数据的散点图添加图例的主要内容,如果未能解决你的问题,请参考以下文章

excel绘制散点图时,如何进行分组绘图?

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

echarts散点图

我需要使我的散点图图例点更大但不重叠它们

Python数据可视化之绘制带有最佳拟合线的散点图(图文并茂版!!!)

plotlyexpress绘制的散点图没有电