python - 在 Bokeh 条形图中选择条形顺序

标签 python charts bokeh

作为尝试学习使用 Bokeh 的一部分,我正在尝试制作一个简单的条形图。我按特定顺序(星期几)传递标签,而 Bokeh 似乎按字母顺序对它们进行排序。如何让条形按照原始列表的顺序显示?

from bokeh.plotting import show
from bokeh.io import output_notebook
from bokeh.charts import Bar
from collections import OrderedDict
import calendar 

output_notebook()

data = OrderedDict()
data['values'] = [2,3,4,5,6,7,8] #values only ascending to make correct graph clear
data['days'] = [calendar.day_name[i-1] for i in range(7)]
p = Bar(data, label='days', values='values', 
         title='OrderedDict Input',xlabel="Day", ylabel="Value")
show(p)

Output generated

最佳答案

来自 Bokeh 项目维护者的注释: 这个答案指的是不应在任何新代码中使用的过时和弃用的 API。有关使用现代且完全受支持的 Bokeh API 创建条形图的信息,请参阅其他回复。


以下是如何使用图表界面在您的示例中保留标签的原始顺序,并使用 Bokeh 0.11.1 进行了测试。

from bokeh.plotting import show
from bokeh.io import output_notebook
from bokeh.charts import Bar
from collections import OrderedDict
import calendar 
from bokeh.charts.attributes import CatAttr

output_notebook()

data = OrderedDict()
data['values'] = [2,3,4,5,6,7,8] #values only ascending to make correct graph clear
data['days'] = [calendar.day_name[i-1] for i in range(7)]
p = Bar(data, label=CatAttr(columns=['days'], sort=False), 
        values='values',title='OrderedDict Input',xlabel="Day", ylabel="Value")
show(p)

关于python - 在 Bokeh 条形图中选择条形顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33135531/

相关文章:

python - 让 python __set__ 工作

python - 使用 kubernetes 客户端 corev1api 运行 `connect_get_namespaced_pod_exec` 给出错误请求

java - JfreeChart: Scroll XYBarChart Horizo​​ntally - (图表翻译和导航)

python - 从 Jupyter 中嵌入的图形中删除 Bokeh 图标?

python - 使用数据框绘制 vbar_stack

python - Youtube API 中的重定向 URI 是什么?

python - 在字典列表中查找并更新字典的值

javascript - 调整大小时 Chart.js 模糊

C# - 图表光标不跟随鼠标点值

bokeh - 如何最初使用 Bokeh 显示图表的分类轴的一部分?