如何强制绘图以更正x轴上的起点?

时间:2019-05-23 11:01:40

标签: python-3.x plotly

我正在绘制每种产品amount的每周YYYYWW的销售数量(product_name)。

所有数据都显示在图形上,但是某些产品显示不正确。如果产品A仅从2019年开始才有销售数字(即没有整个2018年的销售数字);然后我希望该产品的行数在2018年为零,并开始显示2019年的值。

发生了什么,产品A从图表的原点显示了折线图。因此,第1周的销售金额改为YYYYWW 201801。

有没有比列表理解为产品设置零值更有效的方法了?

import plotly.graph_objs as go
import plotly.offline as pyo

data = [go.Scatter(x=sorted(df.YYYYWW.unique().astype(str)), 
                   y=list(df.loc[df.product_name == 'Product A', 
                       ['amount','YYYYWW']].groupby('YYYYWW').sum().amount),
                   mode='lines+markers',
                  )
        ]

pyo.plot(data)

enter image description here

x中的值是:201801、201802,... 201920

y中的值是:

YYYYWW     amount

2019/15     454.32
2019/16    1131.15
2019/17    1152.96
2019/18    2822.77
2019/19    3580.86
2019/20    2265.06

1 个答案:

答案 0 :(得分:0)

解决了! 我的x值应该像我的y值一样从数据框的子集中获取:

x = df.loc[df.product_name == i].YYYYWW.unique().astype(str)