Bokeh "Areas" erstellen
Verfasst: Freitag 4. Januar 2019, 21:50
Hallo liebe Community,
für eine Aufgabe muss ich einen bestimmten Graph mit Bokeh erstellen.
Als Beispiel habe ich folgendes hinbekommen:
1--> package importiert
2-->Daten für die x- und y-Achse als Listen erstellt
3-->Figure erstellt (mit Hintergrundfarbe, größe, Beschriftung...)
4-->eine oder zwei Linien hinzugefügt
5-->hovertool erstellt
Problem 1:
der Graph selbst soll keine Linie sein sondern eine Ausgefüllte Fläche unterhalb der Linie:
"http://bokeh.pydata.org/en/0.12.0/docs/ ... chart.html"
Dazu gibts auch unter genanntem Link eine Gute Beschreibung mit dem Problem, dass ich nicht verstehe wie ich anstatt Data einfach meine x und y Werte einfügen kann. Sprich Anstatt einer Figure eine Area mit meinen Daten Erstelle.
Oder ist es vl leichter die Fläche unter einer Linie mit Farbe auszufüllen??
Die Anleitung unter diesem Link: https://bokeh.pydata.org/en/latest/docs ... _area.html
erscheint mir noch viel Komplizierter
Problem 2:
Das Hovertool wird Selbstverständlich zweimal pro Linie Angezeigt soll aber eigentlich nur Einer Linie Folgen und Anzeigen, den Wert der Zweiten Linie lässt sich eh einbauen.

Denke dann würde ich mal Weiterkommen
für eine Aufgabe muss ich einen bestimmten Graph mit Bokeh erstellen.
Als Beispiel habe ich folgendes hinbekommen:
1--> package importiert
2-->Daten für die x- und y-Achse als Listen erstellt
3-->Figure erstellt (mit Hintergrundfarbe, größe, Beschriftung...)
4-->eine oder zwei Linien hinzugefügt
5-->hovertool erstellt
Code: Alles auswählen
###############################################################################
#for working in jupiter
from bokeh.io import output_notebook
import numpy as np
#for plotting figure
from bokeh.plotting import figure
#for show and save
from bokeh.plotting import output_file, show
#for the hovertool
from bokeh.models import HoverTool
###############################################################################
#values
x_axis = [1,2,3,4,5,6,7,8,9,10]
y_axis1 = [12,53,89,34,2,56,6,68,7,44]
y_axis2 = [46,535,868,347,2,42,55,23,68,99]
###############################################################################
#only for notebook
output_notebook()
###############################################################################
#figure
graph = figure(title = "Example",
x_axis_label = "x-Achse",
y_axis_label = "y-Achse",
plot_width = 400,
plot_height = 300,
x_axis_type = "datetime")
#backgroundcolor
graph.background_fill_color="#f5f5f5"
###############################################################################
#add a line
graph.line(x_axis, y_axis1, legend="line1", line_width=2)
graph.line(x_axis, y_axis2, legend="line2", line_width=2)
###############################################################################
#add a hovertool
graph.add_tools(HoverTool(tooltips=[
('x-wert', "@x{0.00 a}" ),
('y1-wert', "@y{0.00 a}"),
('y2-wert', "@y_axis2{0.00 a}")], #creats the Hovertool
mode='vline'))
show(graph)
Problem 1:
der Graph selbst soll keine Linie sein sondern eine Ausgefüllte Fläche unterhalb der Linie:
"http://bokeh.pydata.org/en/0.12.0/docs/ ... chart.html"
Dazu gibts auch unter genanntem Link eine Gute Beschreibung mit dem Problem, dass ich nicht verstehe wie ich anstatt Data einfach meine x und y Werte einfügen kann. Sprich Anstatt einer Figure eine Area mit meinen Daten Erstelle.
Code: Alles auswählen
area1 = Area(data, title="Area Chart", legend="top_left", #x&y-Werte??
xlabel='time', ylabel='memory')
Die Anleitung unter diesem Link: https://bokeh.pydata.org/en/latest/docs ... _area.html
erscheint mir noch viel Komplizierter
Problem 2:
Das Hovertool wird Selbstverständlich zweimal pro Linie Angezeigt soll aber eigentlich nur Einer Linie Folgen und Anzeigen, den Wert der Zweiten Linie lässt sich eh einbauen.