散景图 y_range 坐标偏移半个坐标

Bokeh graphs y_range coordinate off by half a coordinate

我正在使用散景图显示数据框中名词的频率。 数据由公司及其专利组成,我从中提取了名词。

当我使用 (0,10) 的 y_range 显示频率时,数据显示完美。当我使用公司列表时,数据偏移了半个 y_range 坐标。

scatter = figure(plot_width=800, plot_height=200, 
             x_range =  max_words, 
             y_range = companies,                
             tools = tools
            )

相比
scatter = figure(plot_width=800, plot_height=200, 
             x_range =  max_words, 
             y_range = (0,10),                
             tools = tools
            )

关于如何解决这个问题有什么建议吗?

如果您提供的是分类因素列表,例如y_range=companies 那么 数据 中的实际坐标值也需要是相同的(字符串)分类因子,而不是数字。

有一个用于分类范围的基础综合坐标系,这就是为什么在任何意义上都传递数字 "works" 的原因。但是这样做不是预期的用途,并且不能保证从分类因子到(内部)合成数字坐标的映射不会随时改变(即不应依赖它)。

有关详细信息和许多示例,请参阅用户指南第 Handling Categorical Data 章。

或者,如果您真的想保留数字 y 坐标,您可以使用 FuncTickFormatter 将整数坐标转换为要显示的公司名称,以便 "fake" 分类 y 轴。