簡體   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