Настройка меток делений осей Matplotlib для обеспечения числовой точности
При использовании библиотеки Matplotlib в Python для построения простых наборов данных XY часто встречаются значения осей переход от стандартного числового формата к экспоненциальному представлению с экспоненциальной формой при увеличении масштаба определенных участков графика. Это может быть нежелательно, поскольку скрывает исходные значения.
Чтобы предотвратить такое поведение и сохранить исходное числовое форматирование, необходимо настроить форматирование меток деления оси. По умолчанию Matplotlib использует ScalerFormatter для тиковых меток. Этот форматтер может использовать постоянный сдвиг, что приводит к использованию экспоненциальной записи при работе с очень небольшими дробными изменениями видимых значений.
Чтобы отключить этот постоянный сдвиг и принудительно использовать стандартное числовое форматирование, можно использовать следующий код:
import matplotlib.pyplot as plt
plt.plot(np.arange(0, 100, 10) 1000, np.arange(0, 100, 10))
ax = plt.gca()
ax.get_xaxis().get_major_formatter().set_useOffset(False)
plt.draw()
Для случаев, когда экспоненциальная запись совершенно нежелательна, можно использовать следующий код:
ax.get_xaxis().get_major_formatter().set_scientific(False)
В качестве альтернативы, глобальный контроль над этим поведением может быть достигнут с помощью axes.formatter.useoffset rcparam. Изменяя этот параметр, можно применить либо стандартное числовое форматирование, либо экспоненциальное представление единообразно для всех меток делений по осям.
Эта настройка гарантирует сохранение числовой точности даже при увеличении масштаба графиков, предоставляя пользователям более интуитивно понятный интерфейс. и точное представление своих данных.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3