use*_*747 6 python visualization bokeh
我希望以下代码仅设置绘图 y 范围的上限,但下限也莫名其妙地设置为 0:
import bokeh.plotting as bkp
import numpy as np
bkp.output_file("/tmp/test_plot.html")
fig = bkp.figure(y_range=[None, 100]) # plot y range: 0-100
# fig = bkp.figure() # plot y range: 50-100
fig.line(np.linspace(0, 1, 200), np.random.random(200)*50+50) # number range: 50-100
bkp.save(fig)
Run Code Online (Sandbox Code Playgroud)
为什么会出现这种情况?仅设置 1 个范围界限的最简单方法是什么?
DataRange1d您正在用“哑”(非自动范围)替换自动范围默认值Range1d。设置end绘图创建的默认范围的值,而不替换整个范围。或者,替换为新的DataRange1d:
from bokeh.models import DataRange1d
p = figure(y_range=DataRange1d(end=100))
Run Code Online (Sandbox Code Playgroud)
或者
p.y_range.end = 100
Run Code Online (Sandbox Code Playgroud)