coord_flip {ggplot2} | R Documentation |
Cartesian coordinates with x and y flipped
Description
This function is superseded because in many cases, coord_flip()
can easily
be replaced by swapping the x and y aesthetics, or optionally setting the
orientation
argument in geom and stat layers.
coord_flip()
is useful for geoms and statistics that do not support
the orientation
setting, and converting the display of y conditional on x,
to x conditional on y.
Usage
coord_flip(xlim = NULL, ylim = NULL, expand = TRUE, clip = "on")
Arguments
xlim , ylim |
Limits for the x and y axes. |
expand |
If |
clip |
Should drawing be clipped to the extent of the plot panel? A
setting of |
Details
Coordinate systems interact with many parts of the plotting system. You can
expect the following for coord_flip()
:
It does not change the facet order in
facet_grid()
orfacet_wrap()
.The
scale_x_*()
functions apply to the vertical direction, whereasscale_y_*()
functions apply to the horizontal direction. The same holds for thexlim
andylim
arguments ofcoord_flip()
and thexlim()
andylim()
functions.The x-axis theme settings, such as
axis.line.x
apply to the horizontal direction. The y-axis theme settings, such asaxis.text.y
apply to the vertical direction.
Examples
# The preferred method of creating horizontal instead of vertical boxplots
ggplot(diamonds, aes(price, cut)) +
geom_boxplot()
# Using `coord_flip()` to make the same plot
ggplot(diamonds, aes(cut, price)) +
geom_boxplot() +
coord_flip()
# With swapped aesthetics, the y-scale controls the left axis
ggplot(diamonds, aes(y = carat)) +
geom_histogram() +
scale_y_reverse()
# In `coord_flip()`, the x-scale controls the left axis
ggplot(diamonds, aes(carat)) +
geom_histogram() +
coord_flip() +
scale_x_reverse()
# In line and area plots, swapped aesthetics require an explicit orientation
df <- data.frame(a = 1:5, b = (1:5) ^ 2)
ggplot(df, aes(b, a)) +
geom_area(orientation = "y")
# The same plot with `coord_flip()`
ggplot(df, aes(a, b)) +
geom_area() +
coord_flip()