Pra*_*non 7 python pandas bokeh
我为数据集启用了“隐藏图例”选项。当我单击它时,只有一个小节消失,其他小节则停留。我不太确定是什么原因引起的。
这是之前和之后的条形图:
。
这是我的数据:

这是代码:
p = Bar(output,'Programs',values="Averages", group="University",plot_width=600,plot_height=400, title="Comparison")
p.legend.click_policy="hide"
output_file("bar.html")
show(p)
Run Code Online (Sandbox Code Playgroud)
目前(Bokeh 0.12.6)不可能通过 隐藏所有条形legend.click_policy="hide",如文档中所述中所述:
\n\n\n交互式图例功能当前适用于 \xe2\x80\x9cper-glyph\xe2\x80\x9d 图例。通过指定自动分组的列创建的图例尚不支持下述功能
\n
但是,可以通过使用 CustomJS 添加CheckboxGroup()来隐藏栏,在单击复选框时隐藏栏。下面您可以看到MCVE,它也可以作为 Jupyter Notebook 在线获取:
\n\nimport numpy as np\nfrom bkcharts import Bar, show\nfrom bokeh.layouts import column\nfrom bokeh.models import CheckboxGroup, CustomJS\n\ndata = {\'University\': [\'ENGT\'] * 3 + [\'UBC\'] * 3,\n \'Averages\': [76.5, 79.9, 72.2, 71, 72, 69],\n \'Programs\': [\'CHML\', \'CIVL\', \'CPEN\', \'CHML\', \'CIVL\', \'CPEN\']}\n\ngroup = "University"\nbars = Bar(data=data, label=\'Programs\', values="Averages", group=group,\n plot_width=600, plot_height=400, title="Comparison")\n\ncheckboxes = CheckboxGroup(labels=np.unique(data[group]).tolist(),\n # Make all checkboxes checked by default\n active=list(range(np.unique(data[group]).size)))\ncheckboxes.callback = CustomJS(args=dict(bars=bars), code="""\n\nvar group = \'%s\';\n\nfunction change_bars_visibility(checkbox_name, visible) {\n for (j = 0; j < bars.renderers.length; j++) {\n // Go through rendered objects\n\n if (bars.renderers[j].attributes.hasOwnProperty(\'data_source\') && \n bars.renderers[j].data_source.data[group][0] === checkbox_name) {\n\n // Change the visibility of this rendered object if it belongs to\n // the group determined by the checkbox that was clicked\n bars.renderers[j].visible = visible;\n }\n }\n}\n\nfor (i = 0; i < cb_obj.labels.length; i++) {\n // Go through checkbox labels\n var checkbox_name = cb_obj.labels[i];\n\n if (cb_obj.active.indexOf(i) >= 0) {\n // alert(checkbox_name + " is activated");\n change_bars_visibility(checkbox_name, true);\n }\n else {\n // alert(checkbox_name + " is disabled");\n change_bars_visibility(checkbox_name, false);\n }\n}\n""" % group)\n\nshow(column(bars, checkboxes))\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
2695 次 |
| 最近记录: |