Python >> Tutoriel Python >  >> Python Tag >> Plotly

Comment tracer plusieurs lignes sur le même axe y à l'aide de Plotly Express en Python

Votre code fonctionne bien ! Mais si vous ne souhaitez spécifiquement pas appliquer le (quelque peu laborieux) add_trace() fonction à chaque ligne, vous pouvez utiliser px.line() . Auparavant, cela vous obligeait à transformer vos données d'un format large à un format long. Mais plus maintenant, alors définissez simplement un index et nommez les colonnes que vous souhaitez tracer !

Code 1 :

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

# data
df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv')
fig = px.line(df, x='Date', y=['AAPL.Open', 'AAPL.High', 'AAPL.Low', 'AAPL.Close', 'mavg'])

# Show plot 
fig.show()

Tracé :

Si vous souhaitez savoir comment faire la même chose avec des données au format long, voici comment procéder également en utilisant pandas et plotly :

Code 2 :

# 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()

Vous ne savez pas quel type de ligne vous recherchez, mais avez-vous essayé quelque chose comme ci-dessous

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

Sur un nuage de points standard, vous pouvez définir le mode sur n'importe quelle combinaison de lignes, de marqueurs et de texte.