glue-viz / glue

Linked Data Visualizations Across Multiple Files
http://glueviz.org
Other
740 stars 153 forks source link

Avoid interference of ROI patches with legend auto-placement #2370

Closed dhomeier closed 1 year ago

dhomeier commented 1 year ago

Description

Reported in #2368; as of matplotlib 3.7 legend auto-placement is affected by the position of ROIs, even if empty. Notably 4 tests in viewers/scatter failed as the default placement of a MplPolygonalROI pushed the legends out of their usual position. As a workaround the default extent and position of the ROI is moved from [0, 1], [0, 1] to [0.2, 0.3], [0.2, 0.3] to keep out of the way of any of the 9 standard positions for the legend. Better fix would be to hold off syncing the patch until the ROI is made visible. Alternatively xfail for matplotlib >= 3.7.

dhomeier commented 1 year ago

@Carifio24, @astrofrog I have tried to implement the suggested approach from https://github.com/glue-viz/glue/issues/2368#issuecomment-1444387957 in _sync_patch now and putting this up for review as such. While tests are passing, it might be good to check the behaviour in the app – my installation on Apple M1 does not play very nicely with adding and manipulating several ROIs.

dhomeier commented 1 year ago

Thanks for your assistance @Carifio24!