Python Matlibplot DateFormat X标签不可见

时间:2019-05-17 13:42:25

标签: python pandas

我正在尝试绘制以下csv数据。 数据每隔1分钟被勾选一次:

# cat futures-sample.txt  | head
2019/05/16-09:15 27830 2031
2019/05/16-09:16 27815 995
2019/05/16-09:17 27829 961
2019/05/16-09:18 27848 663
2019/05/16-09:19 27873 869
2019/05/16-09:20 27847 854
2019/05/16-09:21 27828 784
2019/05/16-09:22 27813 676
2019/05/16-09:23 27828 700
2019/05/16-09:24 27849 665

我希望X轴每隔1小时显示一次。 例如:9:00、10:00、11:00

这是我的代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.dates import HourLocator, DateFormatter

df = pd.read_csv('futures-sample.txt', names=['Time', 'HSIF', 'Volume'], delim_whitespace=True)

ax = df.set_index('Time').plot(y='HSIF')

ax.xaxis.set_major_locator(HourLocator())
ax.xaxis.set_major_formatter(DateFormatter('%Y/%m/%d-%H:%M'))

fig = ax.get_figure()
fig.savefig('/var/www/html/temp.png')

但是,该图最终没有显示X标签。 我想念什么吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

也许您的Time列是一个字符串,您可以在parse_dates=['Time']中使用read_csv

df = pd.read_csv('futures-sample.txt', names=['Time', 'HSIF', 'Volume'],parse_dates=['Time'] ,delim_whitespace=True)