не может отобразить все значения по оси X - PullRequest
0 голосов
/ 13 апреля 2019

У меня есть набор данных, в котором приведены различные данные за каждую минуту месяца.Я хочу нанести значение на оси X с интервалом в 1 единицу или 5 единиц для любого заданного диапазона.

Например, сейчас я храню 41-минутные данные в массиве для построения на оси X, ноэто показывает мне только 6 минут данных с интервалом.Как я могу построить каждую минуту данных с 1 минутой (или 5-минутным интервалом)?

import datetime
import matplotlib.pyplot as plt
import matplotlib.dates as md
import numpy as np
import datetime as dt
import time
%matplotlib inline

Time=test.loc[200:240,['time']]
Time=Time.as_matrix()
a=[]
date_time_array=[]
for k in Time:
    a=np.append(a,k)

timestamp_array=[]
count=0
for b in a[::-1]:
    b=int(b) # make plain integer
    str_b=str(b) # make integer
    c=str_b[-3:]
    new_str_b=str_b.replace(c, '',1) #reduce last 3 charecter as they are extra
    new_str_b_time=int(new_str_b)
    timestamp_array=np.append(timestamp_array,new_str_b_time)

date_list=[dt.datetime.fromtimestamp(ts) for ts in timestamp_array]
datenums_array=md.date2num(date_list)

value_1=test.loc[200:240,['value']]
value_1=value_1.as_matrix()
value_1_reverse=value_1[::-1]

plt.title('test_graph')
plt.subplots_adjust(bottom=.2)
plt.xticks( rotation=25)
ax=plt.gca()
xfmt = md.DateFormatter('%Y-%m-%d %H:%M:%S')
ax.xaxis.set_major_formatter(xfmt)
plt.plot(datenums_array,value_1_reverse,color='orange')
plt.show()

Вот вывод:

enter image description here

Я ожидаю, что, как и здесь, я сохранил 41 значение для оси X и Y, поэтому они все появятся на графике (, если интервал по оси X составляет 1 минуту или 5 минут, что мне подходит. )

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