Her zaman nanosaniye (1e-9) olarak adlandırılan verileri çizdiğim bir matplotlib rakamım var. Y ekseninde, onlarca nanosaniye olan veriye sahipsem, yani. 44e-9, eksen üzerindeki değer ofset olarak + 1e-8 ile 4.4 olarak gösterilir. Ekseni + 1e-9 ofsetiyle 44'ü göstermeye zorlamanın bir yolu var mı?
Aynısı, eksenin + 5.54478e4'ü gösterdiği x eksenim için de geçerlidir, burada +55447'lik bir ofset göstermeyi tercih ederim (tam sayı, ondalık yok - buradaki değer gün cinsindendir).
Bunun gibi birkaç şeyi denedim:
p = axes.plot(x,y)
p.ticklabel_format(style='plain')
x ekseni için, ancak bu işe yaramıyor, muhtemelen yanlış kullanıyorum veya belgelerden bir şeyi yanlış yorumluyorum, birisi beni doğru yöne yönlendirebilir mi?
Teşekkürler Jonathan
Biçimlendiricilerle bir şeyler yapmayı denedim ama henüz bir çözüm bulamadım ...:
myyfmt = ScalarFormatter(useOffset=True)
myyfmt._set_offset(1e9)
axes.get_yaxis().set_major_formatter(myyfmt)
ve
myxfmt = ScalarFormatter(useOffset=True)
myxfmt.set_portlimits((-9,5))
axes.get_xaxis().set_major_formatter(myxfmt)
Bir yan not olarak, aslında 'ofset numarası' nesnesinin gerçekte nerede bulunduğu konusunda kafam karıştı ... büyük / küçük kenelerin bir parçası mı?
set_units
mi matplotlib.sourceforge.net/api/… (