使用Plotly绘制累积销售额时序图时,按促销标识分组出现异常线条的解决求助
使用Plotly绘制累积销售额时序图时,按促销标识分组出现异常线条的解决求助
我手头有一批包含售出产品、交易时间、销售额的交易数据,想用Plotly做一张按5分钟粒度累加日销售额的折线图。
最开始我写的代码完全能生成正常的图表,代码如下:
df = teste.groupby([pd.Grouper(key='data', freq='5min', origin='start_day', convention = 'start', dropna = True, sort=True, closed = 'left')]).aggregate({'gmv' :'sum'}).reset_index() df.sort_values(by='data', inplace=True) dti = pd.date_range(df['data'].min().normalize(), df['data'].max(), freq='5min', name='data') df = df.set_index('data').reindex(dti, fill_value=0).reset_index() df["cum_sale"]=df.groupby([df['data'].dt.date])['gmv'].cumsum(axis=0) df['time'] = df['data'].dt.time df['date'] = df['data'].dt.date fig = px.line(df, x="time", y="cum_sale", color="date") fig.show()
最近有几天做了产品折扣活动,我想把促销日和非促销日用不同颜色区分开,于是给数据加了促销标识的列:
df['promo'] = False df.loc[df['date'].isin([date(2023,6,16), date(2023,6,17), date(2023,6,18)]), 'promo'] = True
之后我把绘图代码里的color参数改成了"promo":
fig = px.line(df, x="time", y="cum_sale", color="promo") fig.show()
结果图表里出现了很多莫名其妙的乱线,怎么都消不掉,有没有大佬能给点解决思路?
更新:按照大家的回答修改代码后,那些奇怪的线条已经消失了!
备注:内容来源于stack exchange,提问作者FábioRB
相关产品推荐
相关产品推荐

