Как отображать метки деления оси с подробным смещением научных обозначений?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как отображать метки деления оси с подробным смещением научных обозначений?

Сообщение Anonymous »

Я пытаюсь создать фигуру с несколькими подграфиками, где метки деления оси каждого подграфика должны форматироваться одинаково. Поскольку числа большие, отобразить метки делений в разборчивом формате сложно. Мне нравится формат matplotlib с подробным научным смещением b x 10^c (см. график ниже справа), где отображаемые метки галочек a можно затем интерпретировать как ( b+a) x 10^c.
Однако я не могу понять, как контролировать использование этого средства форматирования меток. Мне кажется, что 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»