Bokeh-Widget-Rückruf, um alle Checkboxen auszuwählen

Ich habe in ein paar Probleme beim Versuch, ein Bokeh CheckboxGroup-Widget einrichten. Die Checkbox Gruppe ist es selbst groß (50 Staaten) und ich möchte die Auswahl als alle aktivisieren.

Auch (und noch wichtiger), da diese Gruppe sehr interaktiv sein soll, möchte ich die Schaltflächen "Select All" und "Clear All" hinzufügen. Ich verstehe, dass ich einen Rückruf-Mechanismus brauchen werde, um dies zu tun, aber nach der Suche nach den Beispielen, Dokumentation und Stackoverflow, konnte ich nicht herausfinden, wie genau Ich habe eine vereinfachte Version von meinem Code unten. Meine Vorliebe ist es, das Standard-Widget Callback anstatt den JS-Callback zu verwenden.

Jede Hilfe geschätzt!

from bokeh.plotting import curdoc, output_file from bokeh.models.widgets import Button, CheckboxGroup from bokeh.layouts import widgetbox, row from bokeh.models import ColumnDataSource, Callback output_file("states.html", title="states") states = ["Alabama", "Alaska ", "Arizona", "Arkansas", "California", \ "Colorado", "Connecticut", "Delaware", "Florida", "Georgia", \ "Hawaii", "Idaho ", "Illinois", "Indiana", "Iowa", "Kansas", \ "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", \ "Michigan ", "Minnesota", "Mississippi", "Missouri", "Montana",\ "Nebraska", "Nevada ", "New Hampshire", "New Jersey",\ "New Mexico", "New York", "North Carolina", "North Dakota", \ "Ohio", "Oklahoma","Oregon", "Pennsylvania", "Rhode Island", \ "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah",\ "Vermont", "Virginia","Washington", "West Virginia", \ "Wisconsin", "Wyoming"] states = CheckboxGroup( labels = states, active=[0,1]) select_all = Button(label="select all") # need some help here group = widgetbox(select_all, states) layout = row(group) curdoc().add_root(layout) curdoc().title = "states" 

One Solution collect form web for “Bokeh-Widget-Rückruf, um alle Checkboxen auszuwählen”

Die Grundfunktion des Bokeh-Servers besteht darin, alle Bokeh-Objekte sowohl auf der Python- als auch auf der JS-Seite synchron zu halten. Die active Eigenschaft der CheckboxGroup gibt an, welche CheckboxGroup zu jeder Zeit nicht nur Initialisierung überprüft werden. Um also alle Boxen zu überprüfen, musst du es nur im Rückruf richtig einstellen:

 from bokeh.plotting import curdoc, output_file from bokeh.models.widgets import Button, CheckboxGroup from bokeh.layouts import widgetbox, row from bokeh.models import ColumnDataSource, Callback output_file("states.html", title="states") states_list = ["Alabama", "Alaska ", "Arizona", "Arkansas", "California", \ "Colorado", "Connecticut", "Delaware", "Florida", "Georgia", \ "Hawaii", "Idaho ", "Illinois", "Indiana", "Iowa", "Kansas", \ "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", \ "Michigan ", "Minnesota", "Mississippi", "Missouri", "Montana",\ "Nebraska", "Nevada ", "New Hampshire", "New Jersey",\ "New Mexico", "New York", "North Carolina", "North Dakota", \ "Ohio", "Oklahoma","Oregon", "Pennsylvania", "Rhode Island", \ "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah",\ "Vermont", "Virginia","Washington", "West Virginia", \ "Wisconsin", "Wyoming"] states = CheckboxGroup( labels = states_list, active=[0,1]) select_all = Button(label="select all") def update(): states.active = list(range(len(states_list))) select_all.on_click(update) group = widgetbox(select_all, states) layout = row(group) curdoc().add_root(layout) curdoc().title = "states" 
  • Python bokeh - erstellen Sie eine benutzerdefinierte Pan-Taste
  • Center eingebettet Bokeh Grundstück
  • Streamen von zwei Liniengraphen mit Bokeh
  • Wie kann ich Daten aus einer Bokeh ColumnDatasource extrahieren?
  • Bokeh: CustomJS Rückruf für Maus verschieben oder klicken
  • Bokeh Widget Slicing Daten
  • Python bokeh, wie man eine Korrelation plot?
  • Schieben durch Bilder mit Bokeh Slider
  • Bokeh: Diagramm von pandas dataframe wird nicht auf Trigger aktualisiert
  • Code 503 in Flasche mit eingebettetem Bokeh Server App, der jsonified Daten durch requests.get ()
  • Log-Skala mit Bokehs Scatter-Funktion
  • Python ist die beste Programmiersprache der Welt.