pythonplotly在一张图中绘制多个pandas数据帧

3 python linechart dataframe pandas plotly-python

我想使用pythonplotly在一张图中绘制多个 pandas 数据帧的折线图(设置 x 轴:Day-shift和 y 轴:PRO)。

我尝试使用 for 循环,但未能生成预期的输出。下面给出了我尝试的代码。

import plotly.express as px
for frame in [df1, df2, df3, df4, df5]:
    fig = px.line(frame, x='Day-Shift', y='PRO',template="plotly_dark")


fig.show()
Run Code Online (Sandbox Code Playgroud)

我还想将图例设置为 df1 到 df5

小智 7

使用plotly,您可以尝试以下操作:

import pandas as pd
import plotly.graph_objects as go
from plotly.offline import iplot

# dict for the dataframes and their names
dfs = {"df1" : df1, "df2": df2, "df3" : df3, "df4" : df4, "df5" : df5}

# plot the data
fig = go.Figure()

for i in dfs:
    fig = fig.add_trace(go.Scatter(x = dfs[i]["day-shift"],
                                   y = dfs[i]["PRO"], 
                                   name = i))
fig.show()
Run Code Online (Sandbox Code Playgroud)