Sil*_*viu 10 python plot matplotlib
我需要在同一个图上绘制多组数据,我使用matplotlib.
对于我使用的一些图plt.plot()
和我使用的其他图plt.errorbar()
.但是当我创建一个传奇时,创建的那些plt.plot()
首先出现,无论我把它们放在文件中的顺序(并且zorder
似乎对图例中的位置没有影响).
无论我绘制数据的方式如何,我如何在图例中提供我想要的订单?
tmd*_*son 21
您可以手动调整顺序,方法是使用图例处理和标签ax.get_legend_handles_labels
,然后重新排序结果列表,并将它们送入ax.legend
.像这样:
import matplotlib.pyplot as plt
import numpy as np
fig,ax = plt.subplots(1)
ax.plot(np.arange(5),np.arange(5),'bo-',label='plot1')
ax.errorbar(np.arange(5),np.arange(1,6),yerr=1,marker='s',color='g',label='errorbar')
ax.plot(np.arange(5),np.arange(2,7),'ro-',label='plot2')
handles,labels = ax.get_legend_handles_labels()
handles = [handles[0], handles[2], handles[1]]
labels = [labels[0], labels[2], labels[1]]
ax.legend(handles,labels,loc=2)
plt.show()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11617 次 |
最近记录: |