R: Plotting Hexagon Cells with a Legend

gplot.hexbin {hexbin} | R Documentation

## Plotting Hexagon Cells with a Legend

### Description

Plots Hexagons visualizing the counts in an hexbin object. Different styles are availables. Provides a legend indicating the count representations.

### Usage

    gplot.hexbin(x, style = "colorscale", legend = 1.2, lcex = 1,
          minarea = 0.04, maxarea = 0.8, mincnt = 1, maxcnt = max(x@count),
          trans = NULL, inv = NULL, colorcut = seq(0, 1, length = min(17, maxcnt)),
          border = NULL, density = NULL, pen = NULL,
          colramp = function(n) LinGray(n,beg = 90,end = 15),
          xlab = "", ylab = "", main = "", newpage = TRUE,
          type = c("p", "l", "n"), xaxt = c("s", "n"), yaxt = c("s", "n"),
          clip = "on", verbose = getOption("verbose"))

    ## S4 method for signature 'hexbin,missing'
    plot(x, style = "colorscale", legend = 1.2, lcex = 1,
          minarea = 0.04, maxarea = 0.8, mincnt = 1, maxcnt = max(x@count),
          trans = NULL, inv = NULL, colorcut = seq(0, 1, length = min(17, maxcnt)),
          border = NULL, density = NULL, pen = NULL,
          colramp = function(n) LinGray(n,beg = 90,end = 15),
          xlab = "", ylab = "", main = "", newpage = TRUE,
          type = c("p", "l", "n"), xaxt = c("s", "n"), yaxt = c("s", "n"),
          clip = "on", verbose = getOption("verbose"))

### Arguments

`x` | an object of class `hexbin`.

`style` | string specifying the style of hexagon plot, see `grid.hexagons` for the possibilities.
`legend` | numeric width of the legend in inches of `FALSE`. In the latter case, or when `0`, no legend is not produced.
`lcex` | characters expansion size for the text in the legend
`minarea` | fraction of cell area for the lowest count
`maxarea` | fraction of the cell area for the largest count
`mincnt` | cells with fewer counts are ignored.
`maxcnt` | cells with more counts are ignored.
`trans` | `function` specifying a transformation for the counts such as `sqrt`.

`inv` | the inverse transformation of `trans`.
`colorcut` | vector of values covering [0, 1] that determine hexagon color class boundaries and hexagon legend size boundaries. Alternatively, an integer (`<= maxcnt`) specifying the number of equispaced colorcut values in [0,1].
`border, density, pen` | color for polygon borders and filling of each hexagon drawn, passed to `grid.hexagons`.
`colramp` | function accepting an integer `n` as an argument and returning n colors.
`xlab, ylab` | x- and y-axis label.
`main` | main title.
`newpage` | should a new page start?.
`type, xaxt, yaxt` | strings to be used (when set to `"n"`) for suppressing the plotting of hexagon symbols, or the x- or y-axis, respectively.
`clip` | either 'on' or 'off' are the allowed arguments, when on everything is clipped to the plotting region.
`verbose` | logical indicating if some diagnostic output should happen.
`...` | all arguments of `gplot.hexbin` can also be used for the S4 `plot` method.

### Details

This is the (S4) `plot` method for `hexbin` (and `erodebin`) objects (erodebin-class).

To use the standalone function `gplot.hexbin()` is deprecated. For `style`, `minarea` etc, see the Details section of `grid.hexagons`'s help page.

The legend functionality is somewhat preliminary. Later versions may include refinements and handle extreme cases (small and large) for cell size and counts.

### Value

invisibly, a list with components

`plot.vp` | the `hexViewport` constructed and used.
`legend.vp` | if a legend has been produced, its `viewport`.

### Author(s)

Dan Carr dcarr@voxel.galaxy.gmu.edu, ported by Nicholas Lewin-Koh kohnicho@comp.nus.edu.sg and Martin Maechler.

### References

see in `grid.hexagons`.

### See Also

`hexbin`, `hexViewport`, `smooth.hexbin`, `erode.hexbin`, `hcell2xy`, `hboxplot`, `hdiffplot`.

### Examples

    ## 1) simple binning of spherical normal:
    x <- rnorm(10000)
    y <- rnorm(10000)
    bin <- hexbin(x,y)

    ## Plot method for hexbin !
    ## ---- ------     --------
    plot(bin)
    # nested lattice
    plot(bin, style= "nested.lattice")

    # controlling the colorscheme
    plot(bin, colramp=BTY, colorcut=c(0,.1,.2,.3,.4,.6,1))

    ## 2) A mixture distribution
    x <- c(rnorm(5000),rnorm(5000,4,1.5))
    y <- c(rnorm(5000),rnorm(5000,2,3))
    bin <- hexbin(x,y)

    pens <- cbind(c("#ECE2F0","#A6BDDB","#1C9099"),
                  c("#FFF7BC","#FEC44F","#D95F0E"))
    plot(bin, style = "nested.lattice", pen=pens)
    # now really crazy
    plot(bin, style = "nested.lattice", pen=pens,border=2,density=35)

    # lower resolution binning and overplotting with counts
    bin <- hexbin(x,y,xbins=25)
    P <- plot(bin, style="lattice", legend=FALSE,
              minarea=1, maxarea=1, border="white")
    ##

    library("grid")
    pushHexport(P$plot.vp)
    xy <- hcell2xy(bin)
      # to show points rather than counts :
    grid.points(x,y,pch=18,gp=gpar(cex=.3,col="green"))
    grid.text(as.character(bin@count), xy$x,xy$y,
              gp=gpar(cex=0.3, col="red"),default.units="native")
    popViewport()

    # Be creative, have fun!

[Package hexbin version 1.28.0 Index]