ggplot2 can not draw true 3d surfaces, but you can use
geom_tile() to visualise 3d surfaces in 2d. To be a valid
surface, the data must contain only a single row for each unique combination
of the variables mapped to the
y aesthetics. Contouring
tends to work best when
y form a (roughly) evenly
spaced grid. If your data is not evenly spaced, you may want to interpolate
to a grid before visualising.
geom_contour(mapping = NULL, data = NULL, stat = "contour", position = "identity", ..., lineend = "butt", linejoin = "round", linemitre = 10, na.rm = FALSE, show.legend = NA, inherit.aes = TRUE) stat_contour(mapping = NULL, data = NULL, geom = "contour", position = "identity", ..., na.rm = FALSE, show.legend = NA, inherit.aes = TRUE)
Set of aesthetic mappings created by
The data to be displayed in this layer. There are three options:
The statistical transformation to use on the data for this layer, as a string.
Position adjustment, either as a string, or the result of a call to a position adjustment function.
Other arguments passed on to
Line end style (round, butt, square).
Line join style (round, mitre, bevel).
Line mitre limit (number greater than 1).
logical. Should this layer be included in the legends?
The geometric object to use display the data
geom_contour() understands the following aesthetics (required aesthetics are in bold):
Learn more about setting these aesthetics in
height of contour
height of contour, scaled to maximum of 1
contour piece (an integer)
geom_density_2d(): 2d density contours
# Setting bins creates evenly spaced contours in the range of the data v + geom_contour(bins = 2)v + geom_contour(bins = 10)# Setting binwidth does the same thing, parameterised by the distance # between contours v + geom_contour(binwidth = 0.01)v + geom_contour(binwidth = 0.001)v + geom_contour(colour = "red")