Как я могу предотвратить отображение Matlab десятичных лет по горизонтальной оси? - PullRequest
0 голосов
/ 09 декабря 2018
import matplotlib.pyplot as plt
import matplotlib.path as mpath
import numpy as np

# Data for plotting
t = [2013, 2014, 2015, 2016, 2017]
s = [12.92, 14.19, 15.39, 15.72, 16.03]

fig, ax = plt.subplots()
ax.plot(t, s, 'o', markersize=15)
ax.set(xlabel='year', ylabel='Revenue (billion dollars)',
       title='Revenue Growth')
fig.savefig("test.png")
plt.show()

Вывод здесь, но горизонтальная ось представляет год;как я могу остановить отображение десятичных лет?

enter image description here

Ответы [ 2 ]

0 голосов
/ 09 декабря 2018
 from matplotlib.ticker import FormatStrFormatter

 fig, ax = plt.subplots()
 ax.xaxis.set_major_formatter(FormatStrFormatter('%d'))
0 голосов
/ 09 декабря 2018

возможное решение - преобразовать ваш массив в массив numpy и передать его в виде строки:

ax.plot(np.asarray(t).astype(str), s, 'o', markersize=15)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...