मेरे पास एक matplotlib आंकड़ा है जो मैं डेटा को साजिश कर रहा हूं जिसे हमेशा नैनोसेकंड (1e-9) के रूप में संदर्भित किया जाता है। Y- अक्ष पर, यदि मेरे पास डेटा है जो दसियों नैनोसेकंड है, अर्थात। 44e-9, अक्ष पर मान एक ऑफसेट के रूप में + 1e-8 के साथ 4.4 के रूप में दिखाता है। वहाँ वैसे भी अक्ष को + 1e-9 ऑफसेट के साथ 44 दिखाने के लिए मजबूर करने के लिए है?
वही मेरे x- अक्ष के लिए जाता है जहाँ अक्ष + 5.54478e4 दिखा रहा है, जहाँ मैं इसके बजाय +55447 (पूरे संख्या, कोई दशमलव - यहाँ दिनों में मान है) की भरपाई दिखाऊँगा।
मैंने कुछ इस तरह की कोशिश की है:
p = axes.plot(x,y)
p.ticklabel_format(style='plain')
एक्स-एक्सिस के लिए, लेकिन यह काम नहीं करता है, हालांकि मैं शायद इसका गलत तरीके से उपयोग कर रहा हूं या डॉक्स से कुछ गलत कर रहा हूं, क्या कोई मुझे सही दिशा में इंगित कर सकता है?
धन्यवाद, जोनाथन
मैंने फॉर्मेटर्स के साथ कुछ करने की कोशिश की, लेकिन अभी तक कोई समाधान नहीं मिला है ...:
myyfmt = ScalarFormatter(useOffset=True)
myyfmt._set_offset(1e9)
axes.get_yaxis().set_major_formatter(myyfmt)
तथा
myxfmt = ScalarFormatter(useOffset=True)
myxfmt.set_portlimits((-9,5))
axes.get_xaxis().set_major_formatter(myxfmt)
एक साइड नोट पर, मैं वास्तव में उलझन में हूँ कि 'ऑफ़सेट नंबर' ऑब्जेक्ट वास्तव में कहाँ रहता है ... क्या यह प्रमुख / मामूली टिक्स का हिस्सा है?
set_units
? matplotlib.sourceforge.net/api/… (मैं इसे आज़मा नहीं सकता क्योंकि मेरे पास यहाँ