固定背景虚化放大和缩小的边界

时间:2019-07-04 12:47:12

标签: python bokeh

我正在努力放大和缩小散景烛台图。放大时它的细节太多了,我希望它在放大时停在至少5-7条的位置(取决于光标的位置),并在放大时返回到原始图形, out(不管光标的位置如何,然后返回到原始图形)。

我尝试玩match_aspect=Truebm.DataRange1d,但仍然不知道这些。

到目前为止,它最多可放大几毫秒,并且可以缩小得很远,而不是根据初始图形的长宽比来进行。

import pandas as pd
import bokeh.models as bm
from bokeh.io import show, output_file
from bokeh.plotting import figure
from bokeh.sampledata.stocks import MSFT

df = pd.DataFrame(MSFT)[:51]

inc = df.close > df.open
dec = df.open > df.close

p = figure( tools='xpan, xwheel_zoom', active_scroll='xwheel_zoom', 
       plot_width=1000, plot_height=500,  title = "MSFT", x_range=bm.DataRange1d(bounds='auto'),
       active_drag='xpan')
# map dataframe indices to date strings and use as label overrides
p.xaxis.major_label_overrides = {
i: date.strftime('%b %d') for i, date in 
p.xaxis.bounds = (0, df.index[-1])

p.segment(df.index, df.high, df.index, df.low, color="black")
p.vbar(df.index[inc], 0.5, df.open[inc], df.close[inc], fill_color="#D5E1DD", line_color="black")
p.vbar(df.index[dec], 0.5, df.open[dec], df.close[dec], fill_color="#F2583E", line_color="black")

show(p)

理想情况下,我希望获得类似于tradingview网站的缩放比例

1 个答案:

答案 0 :(得分:0)

DataRange1d范围具有min_intervalmax_interval属性,您可以设置这些属性以防止该范围被放大或缩小到小于或等于该范围:

p.x_range.min_interval = 1
p.x_range.max_interval = 10