我有一个包含周、月和年列的数据集,我想使用周、月和年作为标签来绘制时间变量。 像这样的事情可以用 python 中的plotly 来完成吗?
我可以使用以下代码获得 2 个标签(周、月): df 是我的数据框,其中包含周、月、年、值列。
fig = go.Figure()
fig.add_trace(go.Scatter(x=[df['month'], df['week']],
y=list(df['value'])))
return fig
据我所知,x 轴上最多可以有两层层次结构。作为解决方法,您可以将年份和月份结合起来以获得接近您想要的结果。我根据参考文献中的 scatter y-ru 创建了代码。
import plotly.express as px
import plotly.graph_objects as go
import datetime
import pandas as pd
df = px.data.stocks()[:30]
df['date'] = pd.to_datetime(df['date'])
df['week'] = df['date'].dt.isocalendar().week
df['month'] = df['date'].dt.month
df['year'] = df['date'].dt.year
fig = go.Figure()
fig.add_trace(go.Scatter(x=[[f'{y}/{m:02}' for y,m in zip(df['year'].tolist(),df['month'].tolist())], df['week']], y=list(df['GOOG'])))
fig.show()