繁体   English   中英

如何在 matplotlib 直方图中显示刻度标签?

[英]How to show tick labels in matplotlib histogram?

我通常不使用 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()

您正在使用字符串创建 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()

输出:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM