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.