2012-08-07 10 views
22

में सापेक्ष शिफ्ट को कैसे हटाएं जब मैं बड़ी संख्या के साथ एक सीमा के खिलाफ साजिश करने का प्रयास करता हूं तो मुझे सभी टिकों के लिए सापेक्ष शिफ्ट के साथ अक्ष मिलती है। उदाहरण के लिए:matplotlib अक्ष

plot([1000, 1001, 1002], [1, 2, 3]) 

मैं abscissas की धुरी पर इन टिक मिलती है:

0.0  0.5  1.0  1.5  2.0 
           +1e3 

सवाल +1e3 को हटा दें और सिर्फ पाने के लिए है:

1000.0 1000.5 1001.0 1001.5 1002.0 

उत्तर

25
plot([1000, 1001, 1002], [1, 2, 3]) 
gca().get_xaxis().get_major_formatter().set_useOffset(False) 
draw() 

यह पकड़ लेता है वर्तमान axes, एक्स-अक्ष axis ऑब्जेक्ट प्राप्त करता है और फिर प्रमुख फॉर्मेटर ऑब्जेक्ट डी सेट का उपयोग ऑफसेट को झूठा (doc)।

matplotlib के नए संस्करणों (1.4+) में डिफ़ॉल्ट व्यवहार axes.formatter.useoffset rcparam के माध्यम से बदला जा सकता है।

+0

धन्यवाद, यह काम करता है। –

2

हर जगह रिश्तेदार पारी को अक्षम करने के आर सी पैरामीटर सेट:

import matplotlib 
matplotlib.rc('axes.formatter', useoffset=False) 
+1

शायद आपको अपने उत्तर में कुछ स्पष्टीकरण जोड़ना चाहिए, इसलिए यह केवल कोड नहीं है। – khelwood

+0

हालांकि यह कोड स्निपेट प्रश्न हल कर सकता है, [एक स्पष्टीकरण सहित] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) वास्तव में आपकी पोस्ट की गुणवत्ता में सुधार करने में मदद करता है। याद रखें कि आप भविष्य में पाठकों के लिए प्रश्न का उत्तर दे रहे हैं, और वे लोग आपके कोड सुझाव के कारणों को नहीं जानते हैं। – bahrep

+0

एक स्पष्टीकरण जोड़ने के लिए अपडेट किया गया। – zbyszek