Мои коды Python для создания сюжета боке дают пустой сюжет
Я использую Jupyter Notebook для запуска своих кодов Python. Проблема с моими кодами заключается в том, что вывод дает пустой график (а не сообщение об ошибке от Python).
Мои коды выглядят следующим образом:
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"))
Когда я запускаю эти наборы кодов, он выполняется правильно, создавая новый HTML-файл, но на странице отображается пустой график со словом "Группа", упомянутым на оси Y. Мои данные поступают из CSV-файла, и они были импортированы правильно. "Group" и "Rate" - это серии (имена столбцов) из моего кадра данных.
Я сделал тест и жестко запрограммировал список факторов и х, и график работал нормально. Кажется, мои коды не понимают, что я хочу получить список факторов из столбца "Группа" и список х из столбца "Скорость" моего фрейма данных.
1 ответ
Иногда трудно решить проблему с вашими фактическими данными, и лучше создать несколько простых примеров данных. Это работает по крайней мере в боке версии, которую я использую 0.12.4
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"))