У мене є цифра matplotlib, для якої я будую дані, які завжди називають наносекундами (1e-9). На осі y, якщо у мене є дані, які складають десятки наносекунд, тобто. 44e-9, значення на осі відображається як 4.4 із зміщенням + 1e-8. Чи є спосіб змусити вісь показувати 44 зі зміщенням + 1e-9?
Те саме стосується моєї осі х, де вісь показує + 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/… (я не можу спробувати, бо у мене тут немає matplotlib.)