Форматирование текстового графика галочки по оси Y - PullRequest
0 голосов
/ 29 августа 2018

Текст галочки оси y на моем графике matplotlib содержит слишком много десятичных цифр. Как я могу отформатировать текст, чтобы показать только две десятичные цифры. И.Е. Я хотел бы конвертировать 10.39658602 в 10.40

Я уже пробовал с:

ax.get_yaxis().set_major_formatter(matplotlib.ticker.FormatStrFormatter('%5.2f'))

но десятичные цифры установлены в 0 (предыдущее число становится 10.00). Вот какое-то изображение. До:

enter image description here

После того, как: enter image description here

Редактировать: я также включил пример кода для воспроизведения проблемы.

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
lineObjects = plt.plot(epochs, data1, 'rs',
                       epochs, data2, 'b^',
                       epochs, data3, 'gv',
                       epochs, data4, 'ko', ) 
# also %.2f does not work as intended
ax.get_yaxis().set_major_formatter(matplotlib.ticker.FormatStrFormatter('%5.2f'))
plt.show()

Я использую Python 3.6 на Anaconda. data1, data2, data3, data4 - это NumPy ndarray s типа str_, я уже пытался преобразовать их в float, но результаты аналогичны.

1 Ответ

0 голосов
/ 29 августа 2018

Используйте это форматирование.

ax.yaxis.set_major_formatter(matplotlib.ticker.FormatStrFormatter('%.2f'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...