Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

159
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!