我有一个带有日期时间索引和软件版本列的DataFrame:
Date Version
2018-07-10 15:42:16 1.0
2018-07-10 16:38:18 1.0
2018-07-10 20:21:54 2.0
2018-07-11 08:28:56 1.0
2018-07-11 13:16:48 2.0
2018-07-13 15:25:56 2.0
我想按时间(例如每月)绘制多少个独特版本以及这些版本是什么。我希望将其绘制成一段时间后的填充区域图。随着采用过程中面积的增加和新版本推出时面积的减少。
可能是这样,但水平方向带有时间,而版本作为分组。
https://python-graph-gallery.com/253-control-the-color-in-stacked-area-chart/
答案 0 :(得分:0)
您可以执行以下操作:
df.groupby('Version').resample('M').nunique()
或:
df.resample('d')['Version'].unique()
答案 1 :(得分:0)
尝试此操作,假设您的数据文件格式如上:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
dateparse = lambda x: pd.datetime.strptime(x, '%Y-%m-%d %H:%M:%S')
data = pd.read_table(filename, parse_dates=['Date'], date_parser=dateparse) # your file name
data['month'] = data['Date'].dt.month.values; # can be year, etc.
Months = data.groupby('month')['Version'].nunique().index.values
nVersion = data.groupby('month')['Version'].nunique().values
plt.fill_between(Months,0,nVersion)
plt.show()