Как отобразить метки тиков в гистограмме matplotlib? - PullRequest
1 голос
/ 08 марта 2020

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

Моя гистограмма работает нормально, когда я вставляю данные, но не могу заставить ее отображать метки галочек xaxis. .

Вот мой код (с использованием данных-заполнителей):

import matplotlib.pyplot as plt  
import matplotlib.dates as mdates  
from matplotlib.dates import HourLocator as HourLocater  

import datetime  
from datetime import datetime  
from datetime import timedelta  

now = datetime.today()  
timecount = []  

for x in range(8):  
datea = now-timedelta(hours=x)  
    dateb = str(datea).split(':')[0]  
    timecount.append(dateb)  

fig, ax = plt.subplots(1,1)
ax.hist(timecount, bins=50, color='lightblue')
ax.xaxis.set_major_locator(HourLocater(interval=1))
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d %H'))
plt.show()

1 Ответ

0 голосов
/ 08 марта 2020

Вы создаете x со строкой, затем пытаетесь отформатировать ось с указанием даты и времени. Давайте придерживаться времени данных и будем использовать только переменную datea, а не dateb.

import matplotlib.pyplot as plt  
import matplotlib.dates as mdates  
from matplotlib.dates import HourLocator as HourLocater  

import datetime  
from datetime import datetime  
from datetime import timedelta  

now = datetime.today()  
timecount = []  

for x in range(8):  
    datea = now-timedelta(hours=x)  
    dateb = str(datea).split(':')[0]  
    timecount.append(datea)  

fig, ax = plt.subplots(1,1)
ax.hist(timecount, bins=50, color='lightblue')
ax.xaxis.set_major_locator(HourLocater(interval=1))
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d %H'))
plt.xticks(rotation=90)
plt.show()

Вывод:

enter image description here

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