相关疑难解决方法(0)

如何在matplotlib中制作自定义图例

我目前用matplotlib以这种方式生成我的传奇:

if t==25:
    l1,l2 = ax2.plot(x320,vTemp320,'or',x320,vAnaTemp320,'-r')
elif t==50:
    l3,l4 = ax2.plot(x320,vTemp320,'ob',x320,vAnaTemp320,'-b')
else:
    l5,l6 = ax2.plot(x320,vTemp320,'og',x320,vAnaTemp320,'-g')
plt.legend((l1,l2,l3,l4,l5,l6), ('t=25 Simulation', 't=25 Analytical','t=50 Simulation', 't=50 Analytical','t=500 Simulation', 't=500 Analytical'),
   bbox_to_anchor=(-.25, 1), loc=2, borderaxespad=0.,prop={'size':12})
Run Code Online (Sandbox Code Playgroud)

以某种方式工作看1.但我的传说中有重复的信息.

我宁愿分开传说.这样我就有了与时间t对应的不同颜色的线条.作为我的分析解决方案的正常线条是模拟结果的点.

这样的事情

- (红线)t = 25

- (蓝线)t = 50

- (绿线)t = 500

o Simulaton

- 分析解决方案

现在有人能用matplotlib实现这一目标吗?

目前的形象

python matplotlib

41
推荐指数
1
解决办法
4万
查看次数

设置图例以显示多行图(在python中)

我在同一张图中绘制了几条线,我想根据其内容命名这组线。在这些行上,我还没有打算用误差线绘制平均值。但是出现了两个主要问题:

1)我的图例未按我的预期出现(即使试图在图的范围之外绘制一个额外的点,我也无法给他们起个名字-解决方法)

2)具有平均值和误差线的图不重叠。有时它在其他曲线的前面,有时在其他曲线的后面。

我应该怎么做才能将其修复?我可以在Matlab中做(对于Matlab同样是问题),但找不到python的答案在此处输入图片说明

这是我的例行情节的一部分:

    UYavg = np.nanmean(UYbvall,0)
    yerr = np.nanstd(UYbvall,0)
    plt.figure()
    for i in range(71):
        plt.plot(LTbvall[i],UYbvall[i],'r-')
    l1 = plt.plot([-2,-1],[1,2],'r-')
    l2 = plt.plot(LTbvall[3],UYavg,'b*-')
    plt.errorbar(LTbvall[2],UYavg, yerr = yerr,ecolor='b')
    plt.xlabel('Tempo (LT)')
    plt.xlim(0,24)
    plt.ylabel('Uy (m/s)')
    plt.title('Vento neutro zonal calculado pelo modelo NWM (BV)')
    plt.legend((l1,l2),('Perfis COPEX','Media'), loc = 'best')
Run Code Online (Sandbox Code Playgroud)

编辑:答案必须类似于情节中的多条线make-custom-legend-in-matplotlib

python plot matplotlib

4
推荐指数
2
解决办法
2万
查看次数

标签 统计

matplotlib ×2

python ×2

plot ×1