У меня есть фигура matplotlib, на которой я рисую данные, которые всегда называются наносекундами (1e-9). По оси ординат, если у меня есть данные в десятки наносекунд, т.е. 44e-9, значение на оси отображается как 4.4 с + 1e-8 в качестве смещения. Есть ли способ заставить ось показывать 44 со смещением + 1e-9?
То же самое касается моей оси x, где ось показывает + 5.54478e4, где я бы предпочел показать смещение +55447 (целое число, без десятичного числа - здесь значение в днях).
Я пробовал пару вещей вроде этого:
p = axes.plot(x,y)
p.ticklabel_format(style='plain')
для оси x, но это не работает, хотя я, вероятно, использую его неправильно или неправильно интерпретирую что-то из документации, может ли кто-нибудь указать мне правильное направление?
Спасибо, Джонатан
Я пробовал что-то делать с форматерами, но пока не нашел решения ...:
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.)