Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds functionality to align plots by axis values #192

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

DavZim
Copy link

@DavZim DavZim commented Mar 17, 2023

This PR adds functionality that allows the user to align plots by axis values, effectively closing #173.

Note that this is using the code by Z.lin as proposed here on SO.

Both align_plots and plot_grid gain a new flag align_axis = FALSE. If set to TRUE, the graphs are aligned by their axis values as well.

First a quick showcase:

library(ggplot2)

p1 <- ggplot(mtcars, aes(x = disp, y = mpg)) + geom_point()

# Vertical Align (by X axis)
p2 <- ggplot(mtcars[mtcars$disp > 300, ], aes(x = disp, y = mpg)) + geom_point()
plot_grid(p1, p2, ncol = 1, align = "v",  align_axis = TRUE)

image

# Horizontal Align (by Y axis)
p3 <- ggplot(mtcars[mtcars$mpg > 20, ], aes(x = disp, y = mpg)) + geom_point()
plot_grid(p1, p3, nrow = 1, align = "h",  align_axis = TRUE)

image

There are some tests added as well, but especially the tests for align_plots() are very crude/early as I don't have enough experience with the internals of units and there are some minor differences in some elements of the units. So far I captured the printed output, which is identical. We probably want to update that.

Let me know if there are tests missing and if so which ones. Also feel free to add to this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant