我有一个数据集,其中包含超过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轴上按时间与垃圾箱一起绘制得分,但是很多图表都不适合一张图表。谁能帮助我?
答案 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()
结果: