bokeh - 散景条形图的对数刻度
问题描述
我的代码如下。如何获得散景 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)
解决方案
零不是对数刻度上的允许值,从 2.3.1 版开始,Bokeh 没有任何像 Matplotlib 的symlog
刻度一样围绕原点线性化的东西。您能做的最好的事情是设置left
等于某个非常小的值(但非零)。
推荐阅读
- java - 如何在 C++ JNI 中定位 Kotlin 中的静态方法?
- python - 在没有重复的两个 numpy 数组之间找到最近对的最快方法
- php - 将数据从 react-native 发送到 laravel api 时出现特殊字符问题
- linux - 如何进行句子之间的比较并计算相似度?
- android - 如何防止设置活动立即保存所有更改?
- reactjs - 链接在 next.js 中无效,即使我在页面上
- javascript - Web API 获取请求正文未定义
- c# - 需要帮助将包含空格的 bbcode URL 转换为有效的降价
- telegraf - 如何在电报中检查插件状态?
- google-api - 我是否需要将每个测试用户添加到谷歌开发者控制台中未经验证的应用程序的用户列表中?