python-3.x - 无法使用 Bokeh 和 Python 绘制数据点 - 显示空布局
问题描述
我有一个具有以下值的数据框。我希望使用 Bokeh 将它们绘制在交互式图表上。
locs = ['a', 'b', 'c']
prime_vals = [1000, 54, 457]
sub_vals = [0, 112, 34]
my_dict = {'loc' : locs, 'prime' : prime_vals, 'sub' : sub_vals}
df = pd.DataFrame(my_dict)
df
*我希望 'prime' 和 'sub' 是可视化中的两个不同的复选框。可以同时选择它们(prime 和 sub)并查看与“loc”相关的值或单独查看它们的值。
下面是我的代码,但它只给了我下面的图像——没有任何值。
p = figure(plot_width=1200, plot_height = 800)
aline = p.line(df["locs"], df['prime_vals'], line_width=2,
color=Viridis4[0])
bline = p.line(df["locs"], df['sub_vals'], line_width=2,
color=Viridis4[3])
p.yaxis.axis_label = 'x - axis label '
p.xaxis.axis_label = 'y - axis label'
legend = Legend(items=[("Prime", [aline]),("Sub", [bline])], location=(0, 450))
t = Title()
t.text = 'Prime and sub roles over various offices'
p.title = t
p.add_layout(legend, 'left')
checkboxes = CheckboxGroup(labels=list(['Prime', 'Sub']), active=[0, 1])
callback = CustomJS(code="""aline.visible = false; // aline and etc.. are
bline.visible = false; // passed in from args
// cb_obj is injected in thanks to the callback
if (cb_obj.active.includes(0)){aline.visible = true;}
// 0 index box is aline
if (cb_obj.active.includes(1)){bline.visible = true;} """,
args={'aline': aline, 'bline': bline})
checkboxes.js_on_click(callback)
output_file('some_name.html')
show(row(p, checkboxes))
我无法理解为什么没有绘制数据点。
解决方案
推荐阅读
- python - 简单的头尾机器人
- git - MailChimp 安装在 magento 2.3 中通过 composer 安装时出错
- android - 如何在应用程序中使用 Android Car API
- javascript - 如何防止使用jsRender的客户端HTML编码从服务器编码已经编码的字符串
- testng - 从 CSV 文件执行 TestNG 测试用例
- sql - SQL 案例将 XML 打印到单行。需要多行
- javascript - 理解 Javascript/Typescript 类并扩展它们
- c# - GC 是否收集引用套接字的对象?
- c++ - 从基类实例获取指向(纯)虚函数的指针
- c# - 如何在 asp.net 的 DropDownList 中删除逗号并在列表格式中显示值