Как я вынуждаю matplotlib выписать полную форму маркировки оси X, избегая экспоненциального представления?

Я создал простой график hexbin с matplotlib.pyplot. Я не изменил настроек по умолчанию. Моя информация об оси X располагается с 2003 до 2009, в то время как y оценивает диапазон от 15 до 35. Вместо того, чтобы выписывать 2003, 2004, и т.д., matplotlib сворачивает его в 0, 1, 2... + 2.003e+03. Существует ли простой способ вынудить matplotlib выписать полные числа?

Спасибо,
Mark C.

7
задан Mark C. 18 July 2010 в 03:26
поделиться

1 ответ

Я думаю, вы можете использовать функцию xticks для установки строковых меток:

nums = arange(2003, 2010)
xticks(nums, (str(n) for n in nums))

РЕДАКТИРОВАТЬ: Это лучший способ:

gca().xaxis.set_major_formatter(FormatStrFormatter('%d'))

или во всяком случае, что-то в этом роде. (В более старых версиях Matplotlib метод назывался setMajorFormatter .)

8
ответ дан 7 December 2019 в 05:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: