मैं 4 अक्षों पर भूखंड बनाना चाहता हूं, प्रत्येक अक्ष पर पहले तीन व्यक्तिगत साजिश, और अंतिम अक्षों पर अंतिम 3 प्लॉट बनाना चाहता हूं।मैं matplotlib में भूखंडों का पुन: उपयोग कैसे करूं?
from numpy import *
from matplotlib.pyplot import *
fig=figure()
data=arange(0,10,0.01)
ax1=fig.add_subplot(2,2,1)
ax2=fig.add_subplot(2,2,2)
ax3=fig.add_subplot(2,2,3)
ax4=fig.add_subplot(2,2,4)
line1=ax1.plot(data,data)
line2=ax2.plot(data, data**2/10, ls='--', color='green')
line3=ax3.plot(data, np.sin(data), color='red')
#could I somehow use previous plots, instead recreating them all?
line4=ax4.plot(data,data)
line4=ax4.plot(data, data**2/10, ls='--', color='green')
line4=ax4.plot(data, np.sin(data), color='red')
show()
जिसके परिणामस्वरूप तस्वीर है:
वहाँ पहले भूखंडों को परिभाषित करने और फिर उन्हें कुल्हाड़ियों में जोड़ने के लिए, और फिर उन्हें साजिश एक रास्ता है यहाँ कोड है?
#this is just an example, implementation can be different
line1=plot(data, data)
line2=plot(data, data**2/10, ls='--', color='green')
line3=plot(data, np.sin(data), color='red')
line4=[line1, line2, line3]
AX1 पर अब भूखंड पंक्ति 1, AX2 पर पंक्ति 2, AX3 और ax4 पर line4 पर पंक्ति 3: यहाँ तर्क मैं मन में था है।
लेकिन प्लॉट को फिर से कॉल करने में क्या गड़बड़ है? क्या यह कुछ समस्या पैदा कर रहा है? – wim
@ विम इस मामले में कोई समस्या नहीं पैदा कर रहा है। लेकिन अगर मुझे कॉपी पेस्ट का उपयोग करने की ज़रूरत है तो मैं हमेशा कोड के बारे में संदेह करता हूं। या अगर मैं कुछ समारोहों के लिए लाइनों के भूखंड भेजने के लिए उदाहरण चाहता था जो विभिन्न अक्षों पर किसी भी तरह से भूखंडों की व्यवस्था करता है। – enedene
आकृति बनाने के बजाय, और फिर सबप्लॉट जोड़ने के बजाय आप इसे एक पंक्ति में कर सकते हैं: 'fix, ax = plt.subplots (2, 2) '। फिर 'ax' axes की एक numpy सरणी है ताकि आप' कुल्हाड़ी [0, 1]। प्लॉट (डेटा, डेटा ** 2/10, ls = '-', color = 'g') ' – mmagnuski