Plotly - Schieberegler

Plotly hat eine bequeme Slider das kann verwendet werden, um die Ansicht von zu ändern data/style eines Diagramms durch Schieben eines Knopfes auf dem Steuerelement, das am unteren Rand des gerenderten Diagramms platziert ist.

Slider control besteht aus verschiedenen Eigenschaften, die wie folgt sind:

  • steps property wird zum Definieren der Gleitpositionen des Knopfes über der Steuerung benötigt.

  • method property hat mögliche Werte als restyle | relayout | animate | update | skip, Standard ist restyle.

  • args property Legt die Argumentwerte fest, die an die in Methode auf Folie festgelegte Plotly-Methode übergeben werden sollen.

Wir setzen jetzt eine einfache Schiebereglersteuerung auf einem Streudiagramm ein, die die Häufigkeit von variiert sine wavewährend der Knopf entlang der Steuerung gleitet. Der Schieberegler ist für 50 Schritte konfiguriert. Fügen Sie zuerst 50 Spuren der Sinuskurve mit inkrementierender Frequenz hinzu, wobei alle bis auf die 10. Spur sichtbar sind.

Dann konfigurieren wir jeden Schritt mit restyleMethode. Für jeden Schritt ist für alle anderen Schrittobjekte die Sichtbarkeit festgelegtfalse. Aktualisieren Sie abschließend das Layout des Figure-Objekts, indem Sie die Slider-Eigenschaft initialisieren.

# Add traces, one for each slider step
for step in np.arange(0, 5, 0.1):
fig.add_trace(
   go.Scatter(
      visible = False,
      line = dict(color = "blue", width = 2),
      name = " = " + str(step),
      x = np.arange(0, 10, 0.01),
      y = np.sin(step * np.arange(0, 10, 0.01))
   )
)
fig.data[10].visible=True

# Create and add slider
steps = []
for i in range(len(fig.data)):
step = dict(
   method = "restyle",
   args = ["visible", [False] * len(fig.data)],
)
step["args"][1][i] = True # Toggle i'th trace to "visible"
steps.append(step)
sliders = [dict(active = 10, steps = steps)]
fig.layout.update(sliders=sliders)
iplot(fig)

Zunächst, 10th sine waveSpur wird sichtbar sein. Schieben Sie den Knopf über den horizontalen Regler unten. Sie werden sehen, wie sich die Frequenz wie unten gezeigt ändert.