我需要从数据框的多个列创建折线图。在熊猫中,您可以使用以下代码绘制多条折线图:
df.plot(x='date', y=['sessions', 'cost'], figsize=(20,10), grid=True)
如何使用plotly_express完成此操作?
答案 0 :(得分:1)
例如,如果您想在Jupyter Notebook中使用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)
答案 1 :(得分:1)
对于此示例,您可以稍微不同地准备数据。
df_melt = df.melt(id_vars='date', value_vars=['sessions', 'cost'])
如果您将列(会话,成本)转置/融合到其他行中,则可以在color参数中指定新列“变量”进行分区。
px.line(df_melt, x='date' , y='value' , color='variable')