Python 如何使用plotly_express绘制多重折线图?

Python 如何使用plotly_express绘制多重折线图?,python,charts,plotly,Python,Charts,Plotly,我需要从一个数据框的多个列创建一个折线图。在pandas中,您可以使用以下代码绘制多重折线图: df.plot(x='date',y='sessions','cost'],figsize=(20,10),grid=True) 如何使用plotly_express实现这一点?对于较新版本的plotly,您只需要: df.plot() 只要您记得设置: 从这里,您可以轻松地根据自己的喜好调整情节,例如设置主题: df.plot(template='plotly_dark') 黑色主题的情节:

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

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

如何使用plotly_express实现这一点?

对于较新版本的plotly,您只需要:

df.plot()
只要您记得设置:

从这里,您可以轻松地根据自己的喜好调整情节,例如设置主题:

df.plot(template='plotly_dark')
黑色主题的情节:

plotly较新版本的一个特别棒的特性是,您不再需要担心您的pandas数据帧是否具有。无论哪种方式,您只需要
df.plot()
。查看下面代码段中的详细信息

完整代码:
旧版本的答案: 如果您想在Jupyter笔记本中使用plotly,我强烈建议您使用
iplot()
,例如:

绘图:

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)

代码:

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)
使用,原始问题中的代码现在几乎不受修改:

pd.options.plotting.backend=“plotly”
绘图(x='date',y='sessions','cost']

之前的答复,截至2019年7月

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

df_melt = df.melt(id_vars='date', value_vars=['sessions', 'cost'])
如果将列(会话、成本)转置/合并到其他行中,则可以在颜色参数中指定要分区的新列“变量”

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

谢谢维斯特兰的帮助。Cufflinks是一个非常有用的库,用于直接在pandas数据框中绘制绘图图。但是,我仍然不知道是否有一种方法可以使用plotly express实现相同的单行代码。那是行不通的。ImportError:plotly.plotly模块已弃用,请安装chart studio软件包并改用chart_studio.plotly模块。然后它需要一些登录信息。@vestland在这种情况下是否有任何wat来控制x轴标签?@Reut Le'ts talk in@Reut只需单击链接,如果找到方法请共享:)在“颜色”参数中“变量”是什么意思?
px.line(df_melt, x='date' , y='value' , color='variable')