R: Updates the 'usr' coordinates in the current plot.

updateusr {RgoogleMaps} | R Documentation

## Updates the 'usr' coordinates in the current plot.

### Description

For a traditional graphics plot this function will update the 'usr' coordinates by transforming a pair of points from the current usr coordinates to those specified.

### Usage

    updateusr(x1, y1 = NULL, x2, y2 = NULL)

### Arguments

`x1` | The x-coords of 2 points in the current 'usr' coordinates, or anything that can be passed to `xy.coords`.
`y1` | The y-coords of 2 points in the current 'usr' coordinates, or an object representing the points in the new 'usr' coordinates.
`x2` | The x-coords for the 2 points in the new coordinates.
`y2` | The y-coords for the 2 points in the new coordinates.

### Details

Sometimes graphs (in the traditional graphing scheme) end up with usr coordinates different from expected for adding to the plot (for example `barplot` does not center the bars at integers). This function will take 2 points in the current 'usr' coordinates and the desired 'usr' coordinates of the 2 points and transform the user coordinates to make this happen. The updating only shifts and scales the coordinates, it does not do any rotation or warping transforms.

If `x1` and `y1` are lists or matricies and `x2` and `y2` are not specified, then `x1` is taken to be the coordinates in the current system and `y1` is the coordinates in the new system.

Currently you need to give the function exactly 2 points in each system. The 2 points cannot have the same x values or y values in either system.

### Value

An invisible list with the previous 'usr' coordinates from `par`.

### Note

Currently you need to give coordinates for exactly 2 points without missing values. Future versions of the function will allow missing values or multiple points.

Note by Markus Loecher: both the source and the documentations were copied from the package TeachingDemos version 2.3

### Author(s)

Markus Loecher

### Examples

    tmp <- barplot(1:4)
    updateusr(tmp[1:2], 0:1, 1:2, 0:1)
    lines(1:4, c(1,3,2,2), lwd=3, type='b',col='red')

    # update the y-axis to put a reference distribution line in the bottom
    # quarter

    tmp <- rnorm(100)
    hist(tmp)
    tmp2 <- par('usr')
    xx <- seq(min(tmp), max(tmp), length.out=250)
    yy <- dnorm(xx, mean(tmp), sd(tmp))
    updateusr( tmp2[1:2], tmp2[3:4], tmp2[1:2], c(0, max(yy)*4) )
    lines(xx,yy)

[Package RgoogleMaps version 1.4.1 Index]