Ответ 1
setOffset для False:
ax = plt.gca()
ax.ticklabel_format(useOffset=False)
У меня есть следующий диапазон данных numpy (дельта временных меток usec):
array([ 4.312, 4.317, 4.316, 4.32 , 4.316, 4.316, 4.319, 4.317,
4.317, 4.316, 4.318, 4.316, 4.318, 4.316, 4.318, 4.317,
4.317, 4.317, 4.316, 4.317, 4.318, 4.316, 4.318, 4.316,
4.318, 4.316, 4.317, 4.317, 4.318, 4.316, 4.317, 4.317,
4.317, 4.317, 4.317, 4.316, 4.319, 4.315, 4.319, 4.315,
4.319, 4.315, 4.316, 4.319, 4.317, 4.317, 4.317, 4.318,
4.315, 4.317, 4.317, 4.317, 4.319, 4.314, 4.32 , 4.315,
4.317, 4.318, 4.315, 4.318, 4.317, 4.317, 4.317, 4.316,
4.317, 4.318, 4.317, 4.317, 4.317, 4.315, 4.319, 4.317,
4.315, 4.319, 4.316, 4.318, 4.318, 4.315, 4.318, 4.317,
4.317, 4.321])
Когда я рисую с помощью matplotlib.pyplot:
import matplotlib.pyplot as plt
plt.plot( deltas )
plt.show()
Я получаю следующий сюжет. Почему ось Y масштабируется таким образом? Как я могу получить, чтобы ось Y была помечена как данные, а не смещение данных? Иногда график является "+ 4.nnn", иногда это не так (в зависимости от диапазона данных?).
Начертано "странно":
Запланировано "правильно":
setOffset для False:
ax = plt.gca()
ax.ticklabel_format(useOffset=False)
Вы также можете использовать
ax = plt.gca()
ax.set_yticklabels(ax.get_yticks())
Хотя мне нравится @HYRY отвечать лучше.
Этот ответ предложил отключить смещение как глобальную настройку, которая работала для меня:
matplotlib.rcParams['axes.formatter.useoffset'] = False