Tracé express a une manière intuitive de fournir des parcelles ponctuelles pré-formatées avec des lignes de code minimes; sorte de la façon dont la nénup -nelle le fait pour matplotlib.
Il est possible d'ajouter des traces de parcelles sur tractement pour obtenir un tracé de dispersion sur une parcelle de ligne existante. Cependant, je n'ai pas pu trouver une telle fonctionnalité dans tracé express.
Est-il possible de combiner un graphique de dispersion et de ligne dans tracé express?
Une approche que j'utilise beaucoup consiste à construire deux chiffres fig1
et fig2
utilisant plotly.express
et ensuite les combiner à l'aide de leurs attributs de données et un go.Figure / plotly.graph_objects
objet comme ceci:
import plotly.express as px
import plotly.graph_objects as go
df = px.data.iris()
fig1 = px.line(df, x="sepal_width", y="sepal_length")
fig1.update_traces(line=dict(color = 'rgba(50,50,50,0.2)'))
fig2 = px.scatter(df, x="sepal_width", y="sepal_length", color="species")
fig3 = go.Figure(data=fig1.data + fig2.data)
fig3.show()
Si vous voulez mettre l'accumulation de l'apporach
fig3 = go.Figure(data=fig1.data + fig2.data)
comme indiqué dans l'autre réponse, voici quelques indices.
fig1.data
et fig2.data
sont des tuples courants qui contiennent toutes les informations nécessaires à une parcelle et à la +
juste les concaténe.
# this will hold all figures until they are combined
all_figures = []
# data_collection: dictionary with Pandas dataframes
for df_label in data_collection:
df = data_collection[df_label]
fig = px.line(df, x='Date', y=['Value'])
all_figures.append(fig)
import operator
import functools
# now you can concatenate all the data tuples
# by using the programmatic add operator
fig3 = go.Figure(data=functools.reduce(operator.add, [_.data for _ in all_figures]))
fig3.show()