我现在用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})
但我在图例中重复了信息。
我更喜欢把图例分开,这样我就有不同颜色的线对应于时间t,一条正常的线作为我的分析解,一个点作为我的模拟结果。
类似的东西
--(红线)t = 25
--(蓝线)t = 50
--(绿色线)t = 500
o模拟
--分析解决方案
有没有人知道我如何用matplotlib实现这一点?
1条答案
按热度按时间u4dcyp6a1#
您可以选择要在图例中显示的艺术家和标签,如下所示。您需要为图例中实际上未打印的元素创建自定义艺术家。