如何使用Python中的Plotly Express在同一y轴上绘制多条直线

如何使用Python中的Plotly Express在同一y轴上绘制多条直线,python,plotly,plotly-express,Python,Plotly,Plotly Express,我刚刚安装了plotly express。我试着做一些简单的事情——把数据框的每一列标在同一个y轴上,索引作为x轴。以下是问题/意见: 数据框是否需要将索引作为列用作x轴?我可以不直接使用x轴的索引吗? 如何在y轴上为同一x轴添加多条在plotly中调用的记录道 请注意,我不是试图使用plotly添加记录道,而是尝试使用plotly express 此外,网上也有一些类似的帖子,最近的是: 然而,这篇文章展示了如何添加散点,而不是直线。我想画一条线,这里没有类似于示例中所示的添加分散的添加线 感

我刚刚安装了plotly express。我试着做一些简单的事情——把数据框的每一列标在同一个y轴上,索引作为x轴。以下是问题/意见:

数据框是否需要将索引作为列用作x轴?我可以不直接使用x轴的索引吗? 如何在y轴上为同一x轴添加多条在plotly中调用的记录道

请注意,我不是试图使用plotly添加记录道,而是尝试使用plotly express

此外,网上也有一些类似的帖子,最近的是: 然而,这篇文章展示了如何添加散点,而不是直线。我想画一条线,这里没有类似于示例中所示的添加分散的添加线

感谢您的帮助

示例代码:

import plotly.express as px 
import pandas as pd 
import numpy as np 

# Get some data
df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv')

# Plot 
fig = px.line(df, x='Date', y='AAPL.High')

# Only thing I figured is - I could do this 
fig.add_scatter(x=df['Date'], y=df['AAPL.Low']) # Not what is desired - need a line 

# Show plot 
fig.show()
绘图:

import plotly.express as px 
import pandas as pd 
import numpy as np 

# Get some data
df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv')

# Plot 
fig = px.line(df, x='Date', y='AAPL.High')

# Only thing I figured is - I could do this 
fig.add_scatter(x=df['Date'], y=df['AAPL.Low']) # Not what is desired - need a line 

# Show plot 
fig.show()

不确定您要找的是哪种类型的产品,但您是否尝试过以下方法

fig.add_scatter(x=df['Date'], y=df['AAPL.Low'],mode='lines')

在标准散点模式下,您可以将模式设置为线条、标记和文本的任意组合。

您的代码工作正常!但是,如果您特别不想将(有些费劲的)
add_trace()
函数应用于每一行,您可以使用
px.line()
。这通常要求您从格式转换数据。但现在不是了,所以只需定义一个索引并命名要打印的列。或者通过(例如,
y=df.columns[1:-6]

代码1: 绘图:

如果您想知道如何对长格式的数据执行相同的操作,下面介绍如何使用pandas和plotly执行此操作:

代码2:
非常感谢。当您想要处理所有列时,您可以从df_-wide对象获取列名,这样您的代码对于任何csv都是通用的,日期在第一列,值在其他列:
df_long=pd.melt(df_-wide,id_-vars=df_-wide.columns[0],值_-vars=df_-wide.columns[1:])
这可能会有所帮助,但问题是关于plotly.express,情节不规范。
# imports
import plotly.express as px 
import pandas as pd 
import numpy as np 

# data
df_wide = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv')
df_long=pd.melt(df_wide, id_vars=['Date'], value_vars=['AAPL.Open', 'AAPL.High', 'AAPL.Low', 'AAPL.Close', 'mavg'])

# plotly 
fig = px.line(df_long, x='Date', y='value', color='variable')

# Show plot 
fig.show()