Как заставить matplotlib показывать значения на оси X в виде целых чисел - PullRequest
0 голосов
/ 08 сентября 2018

Код такой:

plt.ticklabel_format(style='plain', axis='x', useOffset=False)
plt.plot(range(1, 3), logger.acc)
plt.xlabel("Epochs")
plt.ylabel("Accuracy")
plt.show()

Создает такой результат:
plot

Я хочу, чтобы на оси х были только целые числа. Для этого должен быть простой флаг, но я не могу его найти.

Ответы [ 2 ]

0 голосов
/ 08 сентября 2018

Вы можете использовать MultipleLocator с базой, установленной на 1.

import matplotlib.pyplot as plt
import matplotlib.ticker as mticker

class logger():
    acc = [ .26, .36]

plt.ticklabel_format(style='plain', axis='x', useOffset=False)
plt.plot(range(1, 3), logger.acc)
plt.gca().xaxis.set_major_locator(mticker.MultipleLocator(1))
plt.xlabel("Epochs")
plt.ylabel("Accuracy")
plt.show()

enter image description here

0 голосов
/ 08 сентября 2018

Просто используйте следующее, где вы устанавливаете xticks как целочисленные значения, сгенерированные функцией range(). Вы можете заменить числа любым диапазоном, который вы строите в пределах

plt.xticks(range(1,3))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...