मैं एक ध्रुवीय साजिश पर एक एजीमुथ-एलिवेशन वक्र की साजिश कर रहा हूं जहां ऊंचाई रेडियल घटक है। डिफ़ॉल्ट रूप से, Matplotlib परिधि पर 0 से केंद्र में 0 से रेडियल मान प्लॉट करता है। मैं उलटा करना चाहता हूं कि 90 डिग्री केंद्र में है। मैंने ax.set_ylim (90,0) पर कॉल के साथ सीमा निर्धारित करने का प्रयास किया लेकिन इसके परिणामस्वरूप LinAlgError अपवाद फेंक दिया गया। कुल्हाड़ी एक कॉल से add_axes में प्राप्त axes ऑब्जेक्ट है।Matplotlib ध्रुवीय भूखंडों पर रेडियल अक्ष सेट करें
क्या यह किया जा सकता है और, यदि हां, तो मुझे क्या करना चाहिए?
संपादित करें: यहां मैं अब उपयोग कर रहा हूं। बुनियादी अंकन कोड matplotlib उदाहरण
# radar green, solid grid lines
rc('grid', color='#316931', linewidth=1, linestyle='-')
rc('xtick', labelsize=10)
rc('ytick', labelsize=10)
# force square figure and square axes looks better for polar, IMO
width, height = matplotlib.rcParams['figure.figsize']
size = min(width, height)
# make a square figure
fig = figure(figsize=(size, size))
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8], projection='polar', axisbg='#d5de9c')
# Adjust radius so it goes 90 at the center to 0 at the perimeter (doesn't work)
#ax.set_ylim(90, 0)
# Rotate plot so 0 degrees is due north, 180 is due south
ax.set_theta_zero_location("N")
obs.date = datetime.datetime.utcnow()
az,el = azel_calc(obs, ephem.Sun())
ax.plot(az, el, color='#ee8d18', lw=3)
obs.date = datetime.datetime.utcnow()
az,el = azel_calc(obs, ephem.Moon())
ax.plot(az, el, color='#bf7033', lw=3)
ax.set_rmax(90.)
grid(True)
ax.set_title("Solar Az-El Plot", fontsize=10)
show()
साजिश है कि इस से परिणाम में से एक से लिया गया है
आपके पास पहले से कौन सा कोड है? इससे आपके प्रश्न का उत्तर देने में काफी मदद मिल सकती है (विशेष रूप से दूसरे भाग में)। – Evert
मुझे लगता है कि एक मैपिंग फ़ंक्शन के साथ किया जा सकता है जो रेडियल निर्देशांक को घुमाता है और रेडियल लेबल मैन्युअल रूप से सेट करके। क्या यह पर्याप्त है या आप वास्तव में रेडियल धुरी को फिर से परिभाषित करना चाहते हैं? –