绘制具有时间的大型数据集

时间:2018-10-09 03:16:17

标签: python pandas matplotlib large-data

我有一个数据集,其中包含超过10万个条目,如下所示:

    score       time
0     19     18 days 02:55:00
1     2949   1 day 01:20:11
2     42211  5 days 00:00:00
     ....
100000 22    100 days 01:11:03

我试图按照以下方式在x轴上绘制时间并在y轴上评分:

import matplotlib
matplotlib.use('Agg')
import pandas as pd
import matplotlib.pyplot as plt

k = pd.cut(df.score, bins)
plt.plot(time, score)
plt.show()

我所面临的问题是,我试图在X轴上按时间与垃圾箱一起绘制得分,但是很多图表都不适合一张图表。谁能帮助我?

1 个答案:

答案 0 :(得分:0)

您是否尝试过查看以下内容? Histogram in matplotlib, time on x-Axis

如以上链接所示:

Matplotlib使用自己的日期/时间格式,但还提供了简单的函数来转换dates模块中提供的功能。它还提供了各种定位器和格式化程序,用于将刻度线放在轴上并格式化相应的标签。假设您传入了各自的日期/时间仓位,我们可以相应地将其标出并在x轴上标注。

这应该使您入门:

import random
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

# generate some random data (approximately over 5 years)
data = [float(random.randint(1271517521, 1429197513)) for _ in range(1000)]

# convert the epoch format to matplotlib date format 
mpl_data = mdates.epoch2num(data)

# plot it
fig, ax = plt.subplots(1,1)
ax.hist(mpl_data, bins=50, color='lightblue')
ax.xaxis.set_major_locator(mdates.YearLocator())
ax.xaxis.set_major_formatter(mdates.DateFormatter('%d.%m.%y'))
plt.show()

结果:

Python Hist Example