Однако я не могу понять, как контролировать использование этого средства форматирования меток. Мне кажется, что matplotlib решает использовать его очень непоследовательно.
Это мой исходный код, который дает последующий график:
Код: Выделить всё
import matplotlib.pyplot as plt
targets = [[-167297.54344731, -167301.10372634, -167308.44207031, -167312.11313287],[-145434.59446349, -145430.40561915, -145432.73985156, -145432.6785802]]
preds = [[-167298.46656051, -167300.59898357, -167308.72554459, -167311.71904965],[-145433.43693344, -145429.41508183, -145432.73929695, -145431.94648615]]
fig, axs = plt.subplots(nrows=1, ncols=2)
# For each subplot
for i in range(2):
# make subplot square
min_max = [min(targets[i]+preds[i]), max(targets[i]+preds[i])]
offset = 2
axs[i].set_ylim(min_max[0]-offset, min_max[1]+offset)
axs[i].set_xlim(min_max[0]-offset, min_max[1]+offset)
axs[i].set_aspect("equal")
axs[i].scatter(targets[i], preds[i])

Я пробовал использовать matplotlib.ticker.ScalarFormatter, который позволяет мне получить галочку метки вида 10^c вместо желаемого b x 10^c. Установка axs.xaxis.set_major_locator(plt.MaxNLocator(4)) также периодически влияет на то, используется ли желаемый формат.
Итак , мой вопрос: как я могу заставить использовать смещение метки деления с научным форматом записи b x 10^c?
Подробнее здесь: https://stackoverflow.com/questions/791 ... ion-offset