简体   繁体   中英

Using Hovertool in Python with Bokeh

I am a new python learner and am trying to make a plot with bokeh. I want to use the hover tool and it is working when I scroll over the dots. However, the X and Y values are showing ??? instead of the actual values. I'm not quite sure what I'm doing incorrectly because the hovertool itself is working, but the values are not displaying.

    from bokeh.plotting import figure`
    from bokeh.io import show, output_notebook

    get_provider(Vendors.CARTODBPOSITRON)
    from bokeh.models import ColumnDataSource, HoverTool  

    # Create a blank figure with labels
    p = figure(plot_width = 600, plot_height = 600, 
               title = 'Example Glyphs',
               x_axis_label = 'X', y_axis_label = 'Y')


    hover = HoverTool(tooltips=[
        ("X", "@X "),
        ("Y","@Y")])

    p = figure(x_axis_type="mercator", 
               y_axis_type="mercator",
               tools=[hover, 'wheel_zoom','save']) 

    p.add_tile(CARTODBPOSITRON)

    # Example data
    circles_x = [1, 3, 4, 5, 8]
    circles_y = [8, 7, 3, 1, 10]
    circles_x = [9, 12, 4, 3, 15]
    circles_y = [8, 4, 11, 6, 10]

    # Add squares glyph
    p.circle(squares_x, squares_y, size = 12, color = 'navy', alpha = 0.6)
    # Add circle glyph
    p.circle(circles_x, circles_y, size = 12, color = 'red')

    # Set to output the plot in the notebook
    output_notebook()
    # Show the plot
    show(p)

If you aren't using an explicit ColumnDataSource (which would allow you to use and refer to whatever column names you want), then you must refer to the default column names Bokeh uses. In this case, for circle , the default column names are "x" and "y" (lower case, not upper case as you have above). So:

hover = HoverTool(tooltips=[
    ("X", "@x"),
    ("Y", "@y"),
])

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM