Title: | Plot Fan Plots for Cytometry Data using 'ggplot2' |
---|---|
Description: | An implementation of Fan plots for cytometry data in 'ggplot2'. For reference see Britton, E.; Fisher, P. & J. Whitley (1998) The Inflation Report Projections: Understanding the Fan Chart <https://www.bankofengland.co.uk/quarterly-bulletin/1998/q1/the-inflation-report-projections-understanding-the-fan-chart>). |
Authors: | Yann Abraham [aut, cre] |
Maintainer: | Yann Abraham <[email protected]> |
License: | GPL-3 |
Version: | 0.1.0.9000 |
Built: | 2025-02-25 05:01:37 UTC |
Source: | https://github.com/yannabraham/cytofan |
stat_fan
Extracts the limits of the Ntiles of a distribution for use in the stat_fan
function
do_fan(x, step = 0.01)
do_fan(x, step = 0.01)
x |
the value to summarize |
step |
the number of bins to break the data into, based on the |
a data.frame containing
ymin : the lower limit of the quantile
ymax : the upper limit of the quantile
id : an identifier for the quantile
percent : the fill colorto use in geom_fan
FanEuStockMarkets <- lapply(colnames(EuStockMarkets),function(id) { res <- do_fan(EuStockMarkets[,id]) res$id <- id return(res) }) FanEuStockMarkets <- do.call(rbind,FanEuStockMarkets)
FanEuStockMarkets <- lapply(colnames(EuStockMarkets),function(id) { res <- do_fan(EuStockMarkets[,id]) res$id <- id return(res) }) FanEuStockMarkets <- do.call(rbind,FanEuStockMarkets)
Visualise the distribution of continuous variables by dividing each variables into a fixed number of bins and returning the bin limits. In fan plots ('geom_fan') bins are grouped over all variables and colored after their distance from the center bin, which corresponds to the median. The center bin corresponds to the strongest shade of 'colorbase', while other bins get decreasing shades.
geom_fan(mapping = NULL, data = NULL, position = "identity", na.rm = FALSE, show.legend = NA, inherit.aes = TRUE, step = 0.01, colorbase = "Oranges", ...) stat_fan(mapping = NULL, data = NULL, geom = NULL, position = "identity", na.rm = FALSE, show.legend = NA, inherit.aes = TRUE, step = 0.01, ...)
geom_fan(mapping = NULL, data = NULL, position = "identity", na.rm = FALSE, show.legend = NA, inherit.aes = TRUE, step = 0.01, colorbase = "Oranges", ...) stat_fan(mapping = NULL, data = NULL, geom = NULL, position = "identity", na.rm = FALSE, show.legend = NA, inherit.aes = TRUE, step = 0.01, ...)
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
position |
Position adjustment, either as a string, or the result of a call to a position adjustment function. |
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
step |
the number of quantiles to use to compute bins |
colorbase |
the colors to use to draw the ribbon. defaults to RColorBrewer 'Oranges'.
See |
... |
Other arguments passed on to |
geom |
The geometric object to use display the data |
'stat_fan' is suitable only for continuous y data. Moreover, if you have less than '1/step' points you might need to adjust the 'step' parameter.
the lower limit of the quantile
the upper limit of the quantile
an identifier for the quantile
the fill colorto use in geom_fan
# reformat dataset from short-wide to tall-skinny EuStockMarkets_ts <- lapply(colnames(EuStockMarkets),function(id) { data.frame(id=id,value=as.numeric(EuStockMarkets[,id])) }) EuStockMarkets_ts <- do.call('rbind',EuStockMarkets_ts) # plot the distribution of the different stock markets ggplot(EuStockMarkets_ts,aes(x=id,y=value))+ geom_fan() # Change the step ggplot(EuStockMarkets_ts,aes(x=id,y=value))+ geom_fan(step=0.05) # change the default color ggplot(EuStockMarkets_ts,aes(x=id,y=value))+ geom_fan(colorbase='Greens') # any valid RColorBrewer palette will work ggplot(EuStockMarkets_ts,aes(x=id,y=value))+ geom_fan(colorbase='RdYlGn')
# reformat dataset from short-wide to tall-skinny EuStockMarkets_ts <- lapply(colnames(EuStockMarkets),function(id) { data.frame(id=id,value=as.numeric(EuStockMarkets[,id])) }) EuStockMarkets_ts <- do.call('rbind',EuStockMarkets_ts) # plot the distribution of the different stock markets ggplot(EuStockMarkets_ts,aes(x=id,y=value))+ geom_fan() # Change the step ggplot(EuStockMarkets_ts,aes(x=id,y=value))+ geom_fan(step=0.05) # change the default color ggplot(EuStockMarkets_ts,aes(x=id,y=value))+ geom_fan(colorbase='Greens') # any valid RColorBrewer palette will work ggplot(EuStockMarkets_ts,aes(x=id,y=value))+ geom_fan(colorbase='RdYlGn')