散景图排序栏图按值而不按索引

时间:2018-10-04 00:22:37

标签: python pandas bokeh holoviews

我正在他们的官方网站上浏览bokeh教程:https://hub.mybinder.org/user/bokeh-bokeh-notebooks-tkmnntgc/notebooks/tutorial/00%20-%20Introduction%20and%20Setup.ipynb 并试图从 维基百科的2009年数据。但是,我遇到了一些问题。

首先,我搜索了相关问题,但这些问题完全没有满足我的要求 问题。

相关问题: Choosing order of bars in Bokeh bar chart

问题
1.如何获得垂直条顶部的值?
2.如何获取按y轴值而不是x-label索引排序的值?

enter image description here

代码在这里给出:

n

1 个答案:

答案 0 :(得分:1)

轴上的顺序完全取决于绘图范围内因子的顺序:

enter image description here

如果您希望因子以不同的顺序出现在轴上,则必须简单地将此列表按照所需的顺序排序,然后重新分配到范围:

p.x_range.factors = sorted_factors

对于您的情况,这是一种解决方法(我不是熊猫专家,可能还有更好的方法):

desc = group.describe()

low_cities = desc.Murder['mean']['low'].index
low_sorted = [('low', city) for city in sorted(low_cities, key=lambda x: desc.Murder['mean'][('low',)][x])]

high_cities = desc.Murder['mean']['high'].index
high_sorted = [('high', city) for city in sorted(high_cities, key=lambda x: desc.Murder['mean'][('high',)][x])]

enter image description here