def wip_chart(cfd_data, frequency="1W-MON", start_column=None, end_column=None, title=None, ax=None):
if len(cfd_data.index) == 0:
raise UnchartableData("Cannot draw WIP chart with no data")
if start_column is None:
start_column = cfd_data.columns[1]
if end_column is None:
end_column = cfd_data.columns[-1]
if ax is None:
fig, ax = plt.subplots()
if title is not None:
ax.set_title(title)
wip_data = pd.DataFrame({'wip': cfd_data[start_column] - cfd_data[end_column]})
groups = wip_data[['wip']].groupby(pd.TimeGrouper(frequency, label='left'))
labels = [x[0].strftime("%d/%m/%Y") for x in groups]
groups.boxplot(subplots=False, ax=ax, showmeans=True, return_type='axes')
ax.set_xticklabels(labels, rotation=70, size='small')
ax.set_xlabel("Week")
ax.set_ylabel("WIP")
return ax
评论列表
文章目录