2017-03-22 6 views
0

Ich benutze Jupyter Notebook, um meine Python-Codes auszuführen. Das Problem mit meinen Codes ist, dass die Ausgabe ein leeres Plot gibt (keine Fehlermeldung von Python).Meine Python-Codes zum Erstellen eines Bokeh-Plots geben eine leere Zeichnung.

Meine Codes stehen wie folgt:

from bokeh.layouts import row 
from bokeh.plotting import figure, show, output_file 

data = myBenchmarkData 
factors = ["Group"] 
x = ["Rate"] 

dot = figure(title="Categorical Dot Plot", tools="", toolbar_location=None, 
     y_range=factors, x_range=[0,200]) 

dot.segment(0, factors, x, factors, line_width=2, line_color="green",) 
dot.circle(x, factors, size=15, fill_color="orange", line_color="green", line_width=3,) 

output_file("categorical.html", title="categorical.py example") 
show(row(dot, sizing_mode="scale_width")) 

Wenn ich diese Reihe von Codes laufen, wird es durch die Schaffung einer neuen HTML-Datei korrekt ausführt, aber die Seite zeigt ein leeres Grundstück mit dem Wort „Gruppe“ erwähnt auf die y-Achse. Meine Daten stammen aus einer CSV-Datei und wurden korrekt importiert. "Gruppe" und "Rate" sind Reihen (Spaltennamen) von meinem Datenrahmen.

Ich habe einen Test und hartcodierte die Liste für Faktoren und x, und die Handlung funktionierte gut. Es scheint, dass meine Codes nicht verstehen, dass ich die Faktorenliste aus der Spalte "Gruppe" und die x-Liste aus der Spalte "Rate" meines Datenrahmens abrufen möchte.

+0

es irgendwelche Fehlermeldungen im Browser JavaScript-Konsole? – bigreddot

+0

Wie überprüfe ich das? – user3115933

+0

http://webmasters.stackexchange.com/questions/8525/how-to-open-the-javascript-console-in-different-browser – bigreddot

Antwort

0

Manchmal ist es schwierig, ein Problem mit Ihren tatsächlichen Daten zu lösen, und es ist besser, einige einfache Beispieldaten zu erstellen. Das funktioniert zumindest in der Bokeh-Version Ich bin 0.12.4 mit

from bokeh.layouts import row 
from bokeh.plotting import figure, show 
from bokeh.io import output_notebook 

output_notebook() 

x = [60,50,75,150,100] 
factors = ["cars","buses","airplanes","trains","bicycles"] 

dot = figure(title="Categorical Dot Plot", tools="", toolbar_location=None, 
     y_range=factors, x_range=[0,204]) 
dot.segment(0, factors, x, factors, line_width=2, line_color="green",) 
dot.circle(x, factors, size=15, fill_color="orange", line_color="green", line_width=3,) 

show(row(dot, sizing_mode="scale_width")) 

enter image description here

+0

@ user3115933 Ich habe ein einfaches Beispiel mit nur 5 Objekten erstellt. Ich benutze Bokeh Version 0.12.4. Mir ist nicht bekannt, ob das bei früheren Versionen nicht funktionierte, aber es ist immer gut zu wissen, welche Version Sie verwenden. –

Verwandte Themen