2013-07-18 6 views
12

मैं matplotlib के साथ कुछ डेटा प्लॉट कर रहा हूँ। मैं साजिश को एक्स-वैल्यू की एक विशिष्ट श्रृंखला पर ध्यान केंद्रित करना चाहता हूं, इसलिए मैं set_xlim() का उपयोग कर रहा हूं।set_xlim() मेरे आकृति में एक्स-सीमा क्यों सेट नहीं कर रहा है?

मोटे तौर पर, मेरे कोड इस तरह दिखता है:

fig=plt.figure() 
ax=fig.add_subplot(111) 
for ydata in ydatalist: 
    ax.plot(x_data,y_data[0],label=ydata[1]) 
ax.set_xlim(left=0.0,right=1000) 
plt.savefig(filename) 

जब मैं साजिश को देखो, एक्स रेंज 0 से 12000. लिए किया जा रहा है यह तब होता है कि क्या set_xlim() से पहले या साजिश के बाद होता है समाप्त होता है() । Set_xlim() इस स्थिति में क्यों काम नहीं कर रहा है?

+1

आप की कोशिश कर सकते 'plt.xlim (...)' ... मैं अपने सिर भी खरोंच याद है, कुछ महीने पहले ;-) – tamasgal

+1

मैं 0 से 2000 और 'ax.set_xlim करने के लिए एक साधारण परीक्षण उदाहरण यादृच्छिक पूर्णांकों का उपयोग किया 'एक्स-अक्ष को मेरे लिए 0 से 1000 तक ठीक से सीमित करता है। – GWW

+0

दो लोगों ने अच्छे उत्तरों छोड़े जिन्हें हटा दिया गया। – Dan

उत्तर

7
जिज्ञासा से बाहर

, क्या वर्ष xmin और xmax में स्विच करने के बारे?

fig=plt.figure() 
ax=fig.add_subplot(111) 
ax.plot(x_data,y_data) 
ax.set_xlim(xmin=0.0, xmax=1000) 
plt.savefig(filename) 
+0

यह पूरी तरह से काम करता है। चूंकि मैं matplotlib का पुराना संस्करण उपयोग कर रहा हूं, यह लगभग निश्चित रूप से समस्या है। – Dan

9

इस उत्तर का पाठ उस उत्तर से लिया गया था जिसे पोस्ट करने के लगभग तुरंत बाद हटा दिया गया था।

set_xlim() साजिश पर प्रदर्शित डेटा को सीमित करता है।

धुरी की सीमाओं को बदलने के लिए, set_xbound() का उपयोग करें।

fig=plt.figure() 
ax=fig.add_subplot(111) 
ax.plot(x_data,y_data) 
ax.set_xbound(lower=0.0, upper=1000) 
plt.savefig(filename) 
संबंधित मुद्दे