मेरे पास दो y- कुल्हाड़ियों के साथ एक भूखंड है, का उपयोग कर twinx()
। मैं भी लाइनों को लेबल देता हूं, और उन्हें दिखाना चाहता हूंlegend()
हूं, लेकिन मैं केवल एक धुरी के लेबल प्राप्त करने में सफल रहा हूं:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rc
rc('mathtext', default='regular')
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(time, Swdown, '-', label = 'Swdown')
ax.plot(time, Rn, '-', label = 'Rn')
ax2 = ax.twinx()
ax2.plot(time, temp, '-r', label = 'temp')
ax.legend(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()
इसलिए मुझे केवल किंवदंती में पहली धुरी के लेबल मिलते हैं, न कि दूसरे अक्ष के 'अस्थायी' लेबल। मैं इस तीसरे लेबल को किंवदंती में कैसे जोड़ सकता हूं?
ax
उस शैली के साथ एक खाली सरणी की साजिश रचने का एक बदसूरत हैक का उपयोग करता हूं जिस पर मैं उपयोग करता हूंax2
: अपने मामले,ax.plot([], [], '-r', label = 'temp')
। यह ठीक से करने की तुलना में बहुत तेज और सरल है ...