Skip to content

[BUG] Wedge/AnnularWedge hit testing cuts off top/bottom #12070

@mbrown1413

Description

@mbrown1413

Software versions

Tested on both 2.2.3 and the latest "branch-3.0" development branch.

Python version : 3.8.13 | packaged by conda-forge | (default, Mar 25 2022, 06:04:10)
IPython version : 8.2.0
Tornado version : 6.1
Bokeh version : 3.0.0dev5+23.g6f1e39a2a.dirty
BokehJS static path : /home/msbrown/bkdev/bokeh/bokeh/server/static
node.js version : v16.14.2
npm version : 8.5.0
Operating system : Linux-5.13.0-27-generic-x86_64-with-glibc2.10

Browser name and version

No response

Jupyter notebook / Jupyter Lab version

No response

Expected behavior

The Wedge and AnnularWedge glyphs should consider the whole height of the circle for hit testing, including the top and bottom.

Observed behavior

Depending on the X and Y scale, the tops and bottoms of these glyphs are cut off for hit-testing purposes. The user cannot click to select or hover over these parts.

The amount that is cut off depends on the difference in scale between the X and Y axes. This is because these glyphs are drawn as parts of circles in screen space, not in data space. Because of this, the rectangle given to the index (this.index.indices({x0, x1, y0, y1})) is incorrect.

Example code

See the [pie chart example](https://docs.bokeh.org/en/latest/docs/gallery/pie_chart.html) in the gallery.

Stack traceback or browser console output

No response

Screenshots

Screenshot_2022-04-01_11-16-23

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions