fix: correctly access axes ranges after coord flip in geom_path #1015
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR fixes a bug where arrowheads in
geom_path(and derivatives likegeom_segment) were distorted when usingcoord_flip().The issue was caused by
geom_pathusingcoord.range(panel_params)to calculate the data range for aspect ratio corrections.coord_flip.range()returns the ranges of the original data variables (wherexis the mapped variable, which becomes vertical). However,geom_pathexpects the ranges to correspond to the physical visual axes (horizontal and vertical width).The fix is to use
panel_params.x.rangeandpanel_params.y.rangedirectly, asplotnineensurespanel_params.xalways corresponds to the horizontal visual axis.Changes
plotnine/geoms/geom_path.py: updatedget_pathsto accesspanel_params.x.rangeandpanel_params.y.rangedirectly.Before:
Now:
Related issue
Closes #1014.