2017-06-17 2 views
2

Ich spiele mit dem Bokeh sliders demo (Quellcode here), und ich versuche, die Hintergrundfarbe der gesamten Seite zu ändern. Mit background_fill_color und border_fill_color ist es leicht, die Farbe der Figur zu ändern, der Rest des Layouts erscheint immer noch auf einem weißen Hintergrund. Gibt es ein Attribut, das ich dem Thema hinzufügen kann, um die Farbe über curdoc().theme einzustellen?Hintergrundfarbe von Bokeh Layout

Antwort

1

Derzeit gibt es keine Python-Eigenschaft, die die HTML-Hintergrundfarbe steuern würde. HTML und CSS sind ein riesiges Gebiet. Anstatt eine entsprechende Python-Eigenschaft für jede mögliche Stiloption zu erstellen, bietet Bokeh einen allgemeinen Mechanismus für die Bereitstellung Ihrer eigenen HMTL-Templates, so dass jedes bekannte Standard-CSS angewendet werden kann.

Dies wird am einfachsten durch Hinzufügen einer templates/index.html Datei zu einem Directory-style Bokeh App erreicht. Die Vorlage sollte Jinja2 template sein. erforderlich Es gibt zwei Substitutionen in der <head> definiert werden:

  • {{ bokeh_css }}
  • {{ bokeh_js }}

sowie zwei erforderlich in <body>:

  • {{ plot_div }}
  • {{ plot_script }}

Die App wird überall dort angezeigt, wo die plot_script in der Vorlage erscheint. Abgesehen davon können Sie das HTML und CSS anwenden, das Sie benötigen. Sie können hier ein konkretes Beispiel sehen:

https://github.com/bokeh/bokeh/blob/master/examples/app/crossfilter

A nach unten Vorlage gekocht, dass die Seite Hintergrund ändert sich wie folgt aussehen könnte:

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <style> 
      body { background: #2F2F2F; } 
     </style> 
     <meta charset="utf-8"> 
     {{ bokeh_css }} 
     {{ bokeh_js }} 
    </head> 
    <body> 
     {{ plot_div|indent(8) }} 
     {{ plot_script|indent(8) }} 
    </body> 
</html> 
+0

, das funktioniert. Prost! – nbubis

+0

@bigreddot Ich habe den Code, wie es ist, von github Link, die Sie freigegeben haben (Crossfilter Beispiel), aber ich habe immer noch den Hintergrund als weiß. Ich hatte die Hex-Nummer auf # 000000 geändert. Irgendeine Idee, warum es noch weiß ist? –