Page 1 of 1

Ändern Sie die Farbzuordnung interaktiv, basierend auf Datenrahmenwerten

Posted: 10 Feb 2025, 10:04
by Guest
Ich habe einen Datenrahmen und möchte daraus ein Streudiagramm erstellen. Der Basiscode ist: < /p>

Code: Select all

import plotly.express as px
fig = px.scatter(df, x="X", y="Y", color="size")
< /code>
 Ich möchte die Farbzuordnung in einem Dropdown -Menü für alle Spalten im Datenrahmen < /strong> (neben X, Y) interaktiv ändern.
Was ich Ich muss dies wahrscheinlich richtig einstellen: < /p>
fig.update_layout(
active=0,
buttons=[
# my idea would be to use a list comprehension here
dict(
label = col,
method = 'restyle',
...?
)
for col in filter( exclude_columns, df.columns)
]
)
< /code>
Ich habe diese Frage ändern. Änderung plotly express "color" Variable mit Taste, aber einige Dinge sind für mich nicht klar. /Code> sowie mehrere Diagrammobjekte: < /p>
fig1 = px.scatter(df, "sepal_length", "sepal_width", color="species")
fig2 = px.scatter(df, "sepal_length", "sepal_width", color="petal_length")

fig = go.Figure()
fig.add_trace(go.Scatter(fig1.data[0], visible=True))
fig.add_trace(go.Scatter(fig1.data[1], visible=True))
fig.add_trace(go.Scatter(fig1.data[2], visible=True))

fig.add_trace(go.Scatter(fig2.data[0], visible=False))

fig.update_layout(
updatemenus=[
dict(
# One dict for each column
buttons=list([
dict(
args=["visible", [True,True,True,False]],
label="species",
method="restyle"
),
dict(
args=["visible", [False,False,False,True]],
label="petal length",
method="restyle"
),
]),
< /code>
 Hauptfrage: < /h2>
Wie kann ich dieses Dropdown -Menü erstellen, um einen beliebigen Spaltenbereich zu unterstützen? < /p>
 Seitenquestionen < /h5>
Ich habe hier vielleicht ein Missverständnis, aber da ich eine mittlere Menge an Säulen habe. Erstellen vieler px.catter 
Objekte klingt ineffizient, ist das wirklich notwendig, da nur die Farbzuordnung geändert werden muss? dort und in anderen Tutorials. Warum hat es Länge 4; eine für jede Art?