ylim set_xlim pyplot matplot plot zoom bokeh

pyplot - ¿Cómo puedo lograr `set_xlim` o` set_ylim` en Bokeh?



pyplot limit (3)

Tal vez una solución ingenua, pero ¿por qué no pasar el eje lim como argumento de tu función?

import numpy from bokeh.plotting import figure, show, output_notebook output_notebook() def make_fig(rows=16, cols=16,x_range=[0, 16], y_range=[0, 16], plot_width=500, plot_height=500): img = numpy.ones((rows, cols), dtype=numpy.uint32) view = img.view(dtype=numpy.uint8).reshape((rows, cols, 4)) view[:, :, 0] = numpy.arange(256) view[:, :, 1] = 265 - numpy.arange(256) fig = figure(x_range=x_range, y_range=y_range, plot_width=plot_width, plot_height=plot_height) fig.image_rgba(image=[img], x=[0], y=[0], dw=[cols], dh=[rows]) return fig

Creo una figura en una función, por ejemplo

import numpy from bokeh.plotting import figure, show, output_notebook output_notebook() def make_fig(): rows = cols = 16 img = numpy.ones((rows, cols), dtype=numpy.uint32) view = img.view(dtype=numpy.uint8).reshape((rows, cols, 4)) view[:, :, 0] = numpy.arange(256) view[:, :, 1] = 265 - numpy.arange(256) fig = figure(x_range=[0, c], y_range=[0, rows]) fig.image_rgba(image=[img], x=[0], y=[0], dw=[cols], dh=[rows]) return fig

Más tarde quiero acercarme a la figura:

fig = make_fig() # <- zoom in on plot, like `set_xlim` from matplotlib show(fig)

¿Cómo puedo hacer zoom programático en bokeh?


Una forma es hacer cosas con una tupla simple al crear una figura:

figure(..., x_range=(left, right), y_range=(bottom, top))

Pero también puede establecer las propiedades x_range y y_range de una figura creada directamente. (He estado buscando algo como set_xlim o set_ylim desde matplotlib).

from bokeh.models import Range1d fig = make_fig() left, right, bottom, top = 3, 9, 4, 10 fig.x_range=Range1d(left, right) fig.y_range=Range1d(bottom, top) show(fig)


también puedes usarlo directamente

p = Histogram(wind , xlabel= ''meters/sec'', ylabel = ''Density'',bins=12,x_range=Range1d(2, 16)) show(p)