The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
{ggplot2}
has many built-in coordinate systems which
are used to both 1) produce the two-dimensional position of the plotted
data and 2) draw custom axes and panel backgrounds.
coord_geo()
uses this second purpose to draw special axes
that include timescales. However, deeptime also
includes a number of other coordinate systems whose primary function is
to modify the way data is plotted. To demonstrate this, we’ll first need
to load some packages.
# Load deeptime
library(deeptime)
# Load ggplot for making plots
# It has some example data too
library(ggplot2)
One limitation of the traditional coord_trans()
function
in {ggplot2}
is that you can not flip the axes while also
transforming the axes. Historically, you would need to either 1) use
scale_x_continuous()
or scale_y_continuous()
to transform one or both of your axes (which could result in the
untransparent loss of data) in combination with
coord_flip()
or 2) transform your data before supplying it
to ggplot()
. coord_trans_flip()
accomplishes
this without the need for scales
or transforming your data.
It works just like coord_trans()
, with the added
functionality of the axis flip from coord_flip()
.
ggplot(mtcars, aes(disp, wt)) +
geom_point() +
coord_trans_flip(x = "sqrt", y = "log10") +
theme_classic()
Note: back in 2020, {ggplot2}
updated
all the directional stats and geoms (e.g., boxplots and histograms) to
work in both directions based on the aesthetic mapping. This somewhat
makes this function redundant, but I still find it useful.
Another limitation of the traditional coord_trans()
is
that each axis is transformed independently.
coord_trans_xy()
expands this functionality to allow for a
two-dimensional linear transformation as generated by
ggforce::linear_trans()
. This allows for rotations,
stretches, shears, translations, and reflections. A dummy example using
the ?mtcars
dataset from {ggplot2}
is included
below. While applications of this functionality may seem abstract for
real data, see the plotting traits article for
a potential real-world application using species trait data.
# make transformer
library(ggforce)
trans <- linear_trans(shear(50, 0))
# set up data to be plotted
square <- data.frame(
disp = c(
min(mtcars$disp), min(mtcars$disp),
max(mtcars$disp), max(mtcars$disp)
),
wt = c(
min(mtcars$wt), max(mtcars$wt),
max(mtcars$wt), min(mtcars$wt)
)
)
# plot data normally
library(ggplot2)
ggplot(mtcars, aes(disp, wt)) +
geom_polygon(data = square, fill = NA, color = "black") +
geom_point(color = "black") +
coord_cartesian() +
theme_classic()
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.