使用 twinx() 在具有辅助轴的图中向图例添加标签
在单个图中具有多个轴对于可视化非常有用来自不同来源或不同单位的数据。使用 twinx() 函数创建辅助轴时,可能需要向辅助轴上绘制的线条添加标签并将其包含在图例中。
要实现此目的,您可以添加使用 ax2.legend(loc=0) 为辅助轴单独的图例。但是,这种方法会产生两个单独的图例。
为了更加一致的显示,可以使用以下步骤将所有标签添加到单个图例:
<code class="python">import numpy as np import matplotlib.pyplot as plt from matplotlib import rc time = np.arange(10) temp = np.random.random(10)*30 Swdown = np.random.random(10)*100-10 Rn = np.random.random(10)*100-10 fig = plt.figure() ax = fig.add_subplot(111) lns1 = ax.plot(time, Swdown, '-', label = 'Swdown') lns2 = ax.plot(time, Rn, '-', label = 'Rn') ax2 = ax.twinx() lns3 = ax2.plot(time, temp, '-r', label = 'temp') # Add all lines and labels to a single legend lns = lns1+lns2+lns3 labs = [l.get_label() for l in lns] ax.legend(lns, labs, loc=0) ax.grid() ax.set_xlabel("Time (h)") ax.set_ylabel(r"Radiation ($MJ\,m^{-2}\,d^{-1}$)") ax2.set_ylabel(r"Temperature ($^\circ$C)") ax2.set_ylim(0, 35) ax.set_ylim(-20,100) plt.show()</code>
此代码将生成一个图例,其中包含主轴和辅助轴的所有标签。
以上是如何使用 twinx() 将标签添加到具有辅助轴的图中的图例?的详细内容。更多信息请关注PHP中文网其他相关文章!