geom_fan | R Documentation |
Fan Plots allow the distribution of a variable to be visualised by
representing sets of central probability intervals through colour.
For every value of x
, geom_fan
computes quantiles of y
and uses these to plot
intervals containing increasing proportions of the total density of y
.
Intervals are mapped to a continuous colour scale, so that changes in colour
represent intervals covering an increasing proportion of total density.
Quantiles can also be precomputed and mapped to the aesthetic quantile
.
This function is designed with the need to summarise MCMC posterior
distributions in mind, and implements the functionality of the fanplot
package in ggplot2
. Note that there should be enough observations of
y
at each x
to allow estimation of the specified quantiles.
geom_fan(mapping = NULL, data = NULL, stat = "interval",
position = "identity", show.legend = NA, inherit.aes = TRUE,
intervals = (2:98)/100, ...)
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
stat |
Use to override the default use of |
position |
Position adjustment, either as a string, or the result of a call to a position adjustment function. |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
intervals |
specify the collection of intervals to be represented in the fan. |
... |
other arguments passed on to |
geom_fan
understands the following aesthetics (required aesthetics are in bold):
x
y
alpha
group
quantile
stat_summary
Summarises y at each value of x
stat_quantile
Uses quantile regression to predict quantiles
geom_interval
Plot intervals boundaries as lines
# Basic use. The data frame must have multiple y values for each
# x
library(ggplot2)
ggplot(fake_df, aes(x=x,y=y)) +geom_fan()
# use precomputed quantiles - reducing storage requirements.
intervals = 1:19/20
fake_q <- calc_quantiles(fake_df, intervals=intervals)
# intervals in geom_fan must be the same as used to compute quantiles.
ggplot(fake_q, aes(x=x,y=y, quantile=quantile)) +
geom_fan(intervals=intervals)
# change the colour scale
ggplot(fake_df, aes(x=x,y=y)) + geom_fan() + scale_fill_gradient(low="red", high="pink")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.