[英]Plotly: How to plot time series in Dash Plotly
从它的外观来看,您示例中的解决方案应该是:
fig = px.line(df, x=df.index, y = df.columns)
从这里开始,如果您想在图例中显示国家并在 x 轴上显示时间,您只需将df = df.T
添加到组合中并获得:
使用 plotly 绘制时间序列时有多种可能性。您的示例显示了宽格式的数据集。 在最新版本中,plotly 可以开箱即用地优雅地处理长格式和宽格式的数据集。 如果您需要 plotly 中长宽数据的详细信息,您也可以在这里仔细查看。
下面的代码片段使用上述方法,但为了使其以完全相同的方式为您工作,您的国家/地区必须设置为 dataframe 行索引。 但是您已经说过它们是,所以请尝试一下,让我知道它对您有何影响。 还有一件事:您可以通过单击 plot 图例中的年份来自由显示 select。 下面代码片段生成的图形也可以按照“ What About Dash?
”一节中的步骤直接在 Dash 中实现。 在这里。
import pandas as pd
import numpy as np
import plotly.express as px
import plotly.graph_objects as go
import plotly.io as pio
import plotly.io as pio
# sample dataframe of a wide format
np.random.seed(5); cols = ['Canada', 'France', 'Germany']
X = np.random.randn(6,len(cols))
df=pd.DataFrame(X, columns=cols)
df.iloc[0]=0;df=df.cumsum()
df['Year'] = pd.date_range('2020', freq='Y', periods=len(df)).year.astype(str)
df = df.T
df.columns = df.iloc[-1]
df = df.head(-1)
df.index.name = 'Country'
# Want time on the x-axis? ###
# just include:
# df = df.T
##############################
# plotly
fig = px.line(df, x=df.index, y = df.columns)
fig.update_layout(template="plotly_dark")
fig.show()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.