Plotly - x 轴上多个(三个)标签

问题描述 投票:0回答:1

我有一个包含周、月和年列的数据集,我想使用周、月和年作为标签来绘制时间变量。 像这样的事情可以用 python 中的plotly 来完成吗?

This is how I want the labels

我可以使用以下代码获得 2 个标签(周、月): df 是我的数据框,其中包含周、月、年、值列。

fig = go.Figure()
fig.add_trace(go.Scatter(x=[df['month'], df['week']],
                             y=list(df['value'])))
return fig
python plotly plotly-dash plotly.graph-objects
1个回答
0
投票

据我所知,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()

© www.soinside.com 2019 - 2024. All rights reserved.