Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

164
Vistas
Desea mostrar los datos de información sobre herramientas de HoverTool con TapTool en bokeh

Soy nuevo en python y quiero hacer un gráfico interactivo con un conjunto de datos dado en clase. Quiero poder mostrar simplemente los datos asociados con el punto que selecciono con TapTool en Bokeh. Sin embargo, los datos son demasiado densos para simplemente usar la herramienta flotante. Parece que la herramienta flotante no requería javascript, pero aparentemente obtener la herramienta de toque requiere conocer otro lenguaje de codificación. No estoy familiarizado con Python tal como es, por lo que agregar una devolución de llamada de JavaScript está complicando un poco las cosas.

En este momento, tengo esta figura trazada con mi marco de datos utilizando datos del conjunto de datos de Vivienda de California de sci-kit. También tengo los datos de muestra de los estados de EE. UU. desde el bokeh hasta el gráfico.

 from bokeh.layouts import layout from bokeh.plotting import figure, show, output_file from bokeh.models import Circle, Div, ColumnDataSource, CustomJS, MultiChoice, HoverTool, LinearColorMapper, ColorBar from bokeh.io import output_notebook from bokeh.sampledata import us_states from bokeh.transform import transform from bokeh.models.tools import * #US state sample data us_states = us_states.data.copy() us_states = us_states["CA"] #Creating figure and adding california basemap color = LinearColorMapper(palette = 'Viridis256', low = df.MedInc.min(), high = df.MedInc.max()) color2 = LinearColorMapper(palette = 'Inferno256', low = df.price.min(), high = df.price.max()) cal = figure(title = "California Housing Data Geographic Distribution", plot_width = 1000) cal.circle('Longitude','Latitude',source = geo_source, color= transform('MedInc', color),size =2, alpha = 0.2,legend_label = "Median Income") cal.circle('Longitude','Latitude',source = geo_source, color= transform('price', color2),size =1, alpha = 0.2,legend_label = "House Price") color_bar = ColorBar(color_mapper = color, label_standoff = 14, location = (0,0), title = 'Median Income') color_bar2 = ColorBar(color_mapper = color2, label_standoff = 14, location = (0,0), title = 'House Price') cal.add_layout(color_bar,'right') cal.add_layout(color_bar2,'right') cal.legend.location = "top_right" cal.legend.click_policy="hide"

Sin embargo, no tengo ni idea de qué escribir para la devolución de llamada JS para TapTool, ya que no estoy muy seguro de cómo funciona, cómo se transfieren las variables, etc.

 callback = CustomJS(args=dict(source=geo_source), code=""" //Insert JS code here """) taptool = TapTool(callback=callback) geo_source.selected.js_on_change('indices', callback) cal.add_tools(taptool)
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

deberías agregar una figura al evento Tap

 plot.on_event(Tap, function)

y en función puede usar índices para actualizar sus datos/gráficos

 def function(): print(source.selected.indices)
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda