Bra*_*wed 4 python plot python-3.x bokeh
我正在尝试在一个带有辅助 y 轴的图形上绘制两组图形。我无法让它们都根据数据进行自动缩放。
我无法设置范围,因为我正在标记 10 个数字,并且代码将用于范围会有所不同的不同来源。另外,目前,我将一个范围设置为特定值,但我希望将它们都设置为自动缩放。
数据框看起来像:
波长 340 440 550 ... 340std 440std 2017-07-01 14:40 2.05 3.02 2.14 ... 0.002 0.00054 ....
TOOLS = "pan,wheel_zoom,box_zoom,reset,save"
p = figure(tools=TOOLS, x_axis_type='datetime',plot_height=400,
plot_width=700,
outline_line_color = 'gray',
y_axis_label = 'Radiance[W/m^2.sr.nm]',
y_range = DataRange1d()
)
# Setting the second y axis range name and range
p.extra_y_ranges = {"foo": Range1d(start=0, end=0.000006)}
# Adding the second axis to the plot.
p.add_layout(LinearAxis(y_range_name="foo"), 'right')
p.line(x='Time', y='340.0', line_color="darkcyan", line_width=1,
source=source)
p.line(x='Time',y='340.0std', line_color = 'red', line_width=1,
y_range_name="foo", source=source)
one = Panel(child=row(p), title='wavelength_one')
tabs = Tabs(tabs = [one,two,three,four,five,six])
show(tabs)
Run Code Online (Sandbox Code Playgroud)
需要注意以下几点:
如果您提供明确的范围值,无论是通过使用固定值还是Range1d手动设置,Bokeh 都会假设您是故意这样做的,并且不会覆盖您的设置(即不再进行数据范围)startendDataRange1d
仅供参考,因为不清楚您在追求什么,散景“双”轴将始终保持彼此原始的相对比例。一旦初始化就不能独立变化。(例如,缩放一个将按相同比例缩放另一个)
DataRange1d对象有一个renderers您可以指定的属性,以明确告诉范围自动调整范围时要考虑哪些字形。默认情况下,DataRange1d除非您另有说明,否则会自动尝试考虑每个可用的字形:
r1 = p.line(...)
p.y_range.renderers = [r1] # only auto-range based on this one line
Run Code Online (Sandbox Code Playgroud)我不确定是否可以使用两个双轴自动量程。AFAIK 没有人尝试过。您可能只能通过使用DataRange1d其中一个字形配置主范围以及Range1d额外的初始固定范围(将随着其他主范围比例进行缩放)来设置自动范围
| 归档时间: |
|
| 查看次数: |
3546 次 |
| 最近记录: |