Изображение Datashader не отображается при увеличении участков боке

Вот мой код:

x_range = (0, len(df))
y_range = (df['EuPrice'].min(), df['EuPrice'].max())
def create_image(x_range, y_range, w, h):
    cvs = ds.Canvas(plot_width=w, plot_height=w//1.2)
    agg = cvs.line(df, 'fakedata', 'EuPrice')
    img = tf.shade(agg)
    return img

def base_plot(tools='pan,wheel_zoom,box_zoom,resize,reset'):
    p = bp.figure(tools=tools, plot_width=600, plot_height=300,
        x_range=x_range, y_range=y_range, outline_line_color=None,
        min_border=0, min_border_left=0, min_border_right=0,
        min_border_top=0, min_border_bottom=0)   
    p.xgrid.grid_line_color = None
    p.ygrid.grid_line_color = None
    return p

p = base_plot()
InteractiveImage(p, create_image)

Проблема в том, что он загружает график из даташейдера в интерфейс графика боке. Но когда я увеличиваю изображение, меняются только значения оси, но изображение графика возвращается в ту же точку, когда я пытаюсь увеличить данные. Немного увеличивает масштаб, но затем возвращается к полному просмотру данных.

[Излишне говорить, что я новичок в изучении этих библиотек]


person Yasir Azeem    schedule 13.01.2017    source источник


Ответы (1)


Вам нужно распространить x_range и y_range от Bokeh до уровня datashader:

cvs = ds.Canvas(plot_width=w, plot_height=w//1.2, x_range=x_range, y_range=y_range)

person James A. Bednar    schedule 15.01.2017