如何使用plotly_express绘制多线图?

时间:2019-04-24 03:36:38

标签: python charts plotly

我需要从数据框的多个列创建折线图。在熊猫中,您可以使用以下代码绘制多条折线图:

df.plot(x='date', y=['sessions', 'cost'], figsize=(20,10), grid=True)

如何使用plotly_express完成此操作?

2 个答案:

答案 0 :(得分:1)

例如,如果您想在Jupyter Notebook中使用plotly,我强烈建议改用iplot()

情节:

enter image description here

代码:

import plotly
import cufflinks as cf
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
import pandas as pd
import numpy as np


# setup
init_notebook_mode(connected=True)
np.random.seed(123)
cf.set_config_file(theme='pearl')

# Random data using cufflinks
df1 = cf.datagen.lines()
df2 = cf.datagen.lines()
df3 = cf.datagen.lines()
df = pd.merge(df1, df2, how='left',left_index = True, right_index = True)
df = pd.merge(df, df3, how='left',left_index = True, right_index = True)

fig = df1.iplot(asFigure=True, kind='scatter',xTitle='Dates',yTitle='Returns',title='Returns')
iplot(fig)

答案 1 :(得分:1)

对于此示例,您可以稍微不同地准备数据。

df_melt = df.melt(id_vars='date', value_vars=['sessions', 'cost'])

如果您将列(会话,成本)转置/融合到其他行中,则可以在color参数中指定新列“变量”进行分区。

px.line(df_melt, x='date' , y='value' , color='variable')

Example plotly_express output