geom_raster {ggplot2} | R Documentation |
This is a special case of geom_tile
where
all tiles are the same size. It is implemented highly
efficiently using the internal rasterGrob
function.
geom_raster(mapping = NULL, data = NULL, stat = "identity", position = "identity", hjust = 0.5, vjust = 0.5, interpolate = FALSE, ...)
hjust,vjust |
horizontal and vertical justification of the grob. Each justification value should be a number between 0 and 1. Defaults to 0.5 for both, centering each pixel over its data location. |
interpolate |
If |
mapping |
The aesthetic mapping, usually constructed
with |
data |
A layer specific dataset - only needed if you want to override the plot defaults. |
stat |
The statistical transformation to use on the data for this layer. |
position |
The position adjustment to use for overlappling points on this layer |
... |
other arguments passed on to
|
By default, geom_raster
add a vertical and
horizontal padding. The size of padding depends on the
resolution of data. If you want to manually set the
padding (e.g. want zero-padding), you can change the
behavior by setting hpad
and vpad
.
geom_raster
understands the following aesthetics (required aesthetics are in bold):
x
y
alpha
fill
# Generate data pp <- function (n,r=4) { x <- seq(-r*pi, r*pi, len=n) df <- expand.grid(x=x, y=x) df$r <- sqrt(df$x^2 + df$y^2) df$z <- cos(df$r^2)*exp(-df$r/6) df } qplot(x, y, data = pp(20), fill = z, geom = "raster") # Interpolation worsens the apperance of this plot, but can help when # rendering images. qplot(x, y, data = pp(20), fill = z, geom = "raster", interpolate = TRUE) # For the special cases where it is applicable, geom_raster is much # faster than geom_tile: pp200 <- pp(200) base <- ggplot(pp200, aes(x, y, fill = z)) benchplot(base + geom_raster()) benchplot(base + geom_tile()) # justification df <- expand.grid(x = 0:5, y = 0:5) df$z <- runif(nrow(df)) # default is compatible with geom_tile() ggplot(df, aes(x, y, fill = z)) + geom_raster() # zero padding ggplot(df, aes(x, y, fill = z)) + geom_raster(hjust = 0, vjust = 0)