Python Bokeh图y_范围坐标减去半个坐标

Python Bokeh图y_范围坐标减去半个坐标,python,bokeh,scatter-plot,frequency,tfidfvectorizer,Python,Bokeh,Scatter Plot,Frequency,Tfidfvectorizer,我正在使用bokeh图表显示数据框中名词的频率。 这些数据包括公司及其专利,我从中提取了这些名词 当我使用0,10的y_范围显示频率时,数据显示得非常完美。当我使用公司列表时,数据会偏移半个y_范围坐标 scatter = figure(plot_width=800, plot_height=200, x_range = max_words, y_range = companies,

我正在使用bokeh图表显示数据框中名词的频率。 这些数据包括公司及其专利,我从中提取了这些名词

当我使用0,10的y_范围显示频率时,数据显示得非常完美。当我使用公司列表时,数据会偏移半个y_范围坐标

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=companys,那么数据中的实际坐标值也需要是相同的字符串分类因子,而不是数字

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

有关更多信息和许多示例,请参见《用户指南》一章


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

所以我想我可能需要一个3D数据框,位于面板或xarray中。这将使名词与公司对齐?对不起,老实说,我根本不明白这是怎么回事,或者这两者之间有什么关系。很明显,您已经在正确使用分类坐标,即x轴上的字符串值。你只需要在y轴上做同样的事情。如果你说你已经这样做了,那么你需要提供一个完整的最小复制器,这样就不会有关于你在代码中实际做了什么的猜测。或者,如果你真的想保留数字y坐标,您可以使用FuncTickFormatter将整数坐标转换为要显示的公司名称,以便伪造分类y轴,将FuncTickFormatter坐标作为答案发布,以便我可以将其作为答案。谢谢你的回答。