两年前有同样的问题。当时似乎不支持evey第n个分类代码。
https://stackoverflow.com/questions/34949298/python-bokeh-show-only-every-second-categorical-ticker
我的散景版是0.12.13。我想它现在得到了支持。
只需设置p.xaxis.ticker = ['A','B,'C']不起作用(抛出错误)
在我的dashbaord中,初始绘图大小是浏览器视图端口的四分之一,x轴上挤满了许多自动收报机和标签。所以我想只显示10个代码,然后在绘图放大时显示所有代码。
答案 0 :(得分:1)
Bokeh没有内置任何东西可以做到这一点。你可以用custom extension:
来完成一些事情from bokeh.models CategoricalTicker
JS_CODE = """
import {CategoricalTicker} from "models/tickers/categorical_ticker"
export class MyTicker extends CategoricalTicker
type: "MyTicker"
get_ticks: (start, end, range, cross_loc) ->
ticks = super(start, end, range, cross_loc)
# drops every other tick -- update to suit your specific needs
ticks.major = ticks.major.filter((element, index) -> index % 2 == 0)
return ticks
"""
class MyTicker(CategoricalTicker):
__implementation__ = JS_CODE
p.xaxis.ticker = MyTicker()
请注意,上面定义的简单get_ticks
不会处理嵌套类别等更复杂的情况。