首页 > 解决方案 > 散景条形图的对数刻度

问题描述

我的代码如下。如何获得散景 hbar 图的对数比例?试过了x_axis_type="log",但这返回了一个空的情节。

编辑:有人建议我必须设置left一个低但非零的值才能使其工作,但left = 0.001下面代码中的新添加似乎抵消了左侧条形的零点,但没有显示为所需的对数刻度,其中极值之间的差异x被可视化为视觉上不太极端。

编辑(已解决):我在上面的编辑中的错误是我没有明确设置条形的范围。我添加x_range=[0.001,1000000]到下面的代码中,现在我得到了想要的结果。见图片。

from bokeh.plotting import figure
from bokeh.io import show, output_notebook
output_notebook()

x = [1,5,9,256000]
y = ["a","b","c","d"]

p = figure(y_range=y,x_axis_type = "log",x_range=[0.001,1000000])

p.hbar(y = y, right = x, left = 0.001, height = 0.1)
show(p)

在此处输入图像描述

标签: bokeh

解决方案


零不是对数刻度上的允许值,从 2.3.1 版开始,Bokeh 没有任何像 Matplotlib 的symlog刻度一样围绕原点线性化的东西。您能做的最好的事情是设置left等于某个非常小的值(但非零)。


推荐阅读