marginDensityPlot: Plot density of distribution in margins of the plot.

Description Usage Arguments Author(s) See Also Examples

View source: R/plot.R

Description

Plot density of distribution in margins of the plot.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
marginDensityPlot(
  x,
  y = NULL,
  side,
  from = NULL,
  scale = 1,
  maxDensityValue = NULL,
  allDensities = NULL,
  plot = TRUE,
  ...
)

Arguments

x

Density object, or vector with x-values.

y

If x is not a density object, the vector y provides the y-values to plot.

side

Number: 1 = bottom, 2 = left, 3 = top, 4 = left

from

A number indicating the starting position (bottom) of the density plot. Measured in plot coordinates. Defaults to NULL, which indicate that the border of the plot is taken as the base of the density plot.

scale

Scale of the density plot. By default set to 1, which is the size of the margin region.

maxDensityValue

Number for scaling the density axis. Default is NULL (automatic scaling fitting the d)

allDensities

List with other density objects to determine the plotting scale such that they all fit. Defaults to NULL.

plot

Logical: whether to plot the density (default) or not.

...

Optional arguments for the lines and fill_area. See par.

Author(s)

Jacolien van Rij

See Also

check_normaldist

Other Functions for plotting: addInterval(), add_bars(), add_n_points(), alphaPalette(), alpha(), check_normaldist(), color_contour(), dotplot_error(), drawDevArrows(), emptyPlot(), errorBars(), fill_area(), getCoords(), getFigCoords(), getProps(), gradientLegend(), legend_margin(), plot_error(), plot_image(), plotsurface(), sortBoxplot()

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# density of a random sample from normal distribution:
val1 <- qnorm(ppoints(500))
val2 <- qt(ppoints(500), df = 2)
dens1 <- density(val1)
dens2 <- density(val2)

# setup plot window:
par(mfrow=c(1,1), cex=1.1)

# increase margin
oldmar <- par()$mar 
par(mar=oldmar + c(0,0,0,4))

# plot qqnorm
qqnorm(val2, main='t distribution',
       pch='*', col='steelblue',
       xlim=c(-3,3),
       bty='n')
qqline(val1)
abline(h=0, col=alpha('gray'))
abline(v=0, col=alpha('gray'))

# filled distribution in right margin:
marginDensityPlot(dens2, side=4, allDensities=list(dens1, dens2),
    col='steelblue',lwd=2)
# add lines:
marginDensityPlot(dens2, side=4, allDensities=list(dens1, dens2),
    col='steelblue',density=25, lwd=2)
# compare to normal:
marginDensityPlot(dens1, side=4, allDensities=list(dens1, dens2), 
    col=NA, border=1)
# Other sides are also possible:
marginDensityPlot(dens1, side=3, allDensities=list(dens1, dens2), 
    col=NA, border=alpha(1), lwd=2)
marginDensityPlot(dens2, side=3, allDensities=list(dens1, dens2), 
    col=NA, border=alpha('steelblue'), lwd=3)
# adjust the starting point with argument 'from' to bottom of plot:
marginDensityPlot(dens1, side=3, 
    from=getCoords(0, side=2), lwd=2)
marginDensityPlot(dens2, side=3, 
    col='steelblue', from=getCoords(0, side=2), lwd=2,
 maxDensityValue=2*max(dens2$y))

legend(getFigCoords('p')[2], getFigCoords('p')[3],
    yjust=0, legend=c('t distribution', 'Gaussian'),
    fill=c('steelblue', 'black'),
    cex=.75, xpd=TRUE, bty='n')

plotfunctions documentation built on April 28, 2020, 5:10 p.m.