add.lmomco.axis | R Documentation |
This function provides special support for adding probability-like axes to an existing plot. The function supports a recurrence interval (RI) axis, normal probability axis (NPP), and standard normal variate (SNV) axis. The function is built around the interface model that standard normal transformation of the values for the respective axis controlled by this function are being plotted; this means that qnorm()
should be wrapped on the values of nonexceedance probability. This is an ease oversight to make (see Examples section below and note use of qnorm(pp)
).
The function provides a convenient interface for labeling and titling two axes, so adjustments to default margins might be desired. The pertinent control is achieved using the par()
function, which might be of the form par(mgp=c(3,0.5,0), mar=c(5,4,4,3))
say for plotting the lmomco axis both on the left and right (see z.par2cdf
for an example).
add.lmomco.axis(side=1, twoside=FALSE, twoside.suppress.labels=FALSE,
side.type=c("NPP", "RI", "SNV"),
otherside.type=c("NA", "RI", "SNV", "NPP"),
alt.lab=NA, alt.other.lab=NA, npp.as.aep=FALSE,
case=c("upper", "lower"),
NPP.control=NULL, RI.control=NULL, SNV.control=NULL, ...)
side |
The side of the plot (1=bottom, 2=left, 3=top, 4=right). |
twoside |
A logical triggering whether the tick marks are echoed on the opposite side. This value is forced to |
twoside.suppress.labels |
A logical to turn off labeling on the opposite side. This is useful if only the ticks (major and minor) are desired. |
side.type |
The axis type for the primary |
otherside.type |
The optional axis type for the opposite side. The default is a literal not applicable. |
alt.lab |
A short-cut to change the axis label without having to specify a |
alt.other.lab |
Similar to |
npp.as.aep |
Convert nonexceedance probability to exceedance probability, which is a que for |
case |
The will switch between all upper case or mixed case for the default labels. |
NPP.control |
An optional R |
RI.control |
An optional R |
SNV.control |
An optional R |
... |
Additional arguments that are passed to the R function |
No value is returned. This function is used for its side effects.
The NPP.control
, RI.control
, and SNV.control
are R list
structures that can be populated (and perhaps someday extended) to feed various settings into the respective axis types. In brief:
The NPP.control
provides
label | The title for the NPP axis---be careful with value of as.exceed . |
probs | A vector of nonexceedance probabilities F . |
probs.lab | A vector of nonexceedance probabilities F to label. |
digits | The digits for the R function format to enhance appearance. |
line | The line for the R function mtext to place label . |
as.exceed | A logical triggering S = 1 - F .
|
The RI.control
provides
label | The title for the RI axis. |
Tyear | A vector of T -year recurrence intervals. |
line | The line for the R function mtext to place label .
|
The SNV.control
provides
label | The title for the SNV axis. |
begin | The beginning “number of standard deviations”. |
end | The ending “number of standard deviations”. |
by | The step between begin and end . |
line | The line for the R function mtext to place label .
|
The user is responsible for appropriate construction of the control
lists. Very little error trapping is made to keep the code base tight. The defaults when the function definition are likely good for many types of applications. Lastly, the manipulation of the mgp
parameter in the example is to show how to handle the offset between the numbers and the ticks when the ticks are moved to pointing inward, which is opposite of the default in R.
W.H. Asquith
prob2T
, T2prob
, add.log.axis
par(mgp=c(3,0.5,0)) # going to tick to the inside, change some parameters
X <- sort(rnorm(65)); pp <- pp(X) # generate synthetic data
plot(qnorm(pp), X, xaxt="n", xlab="", ylab="QUANTILE", xlim=c(-2,3))
add.lmomco.axis(las=2, tcl=0.5, side.type="RI", otherside.type="NPP")
par(mgp=c(3,1,0)) # restore defaults
## Not run:
opts <- options(scipen=6); par(mgp=c(3,0.5,0))
X <- sort(rexp(65, rate=.0001))*100; pp <- pp(X) # generate synthetic data
plot(qnorm(pp), X, yaxt="n", xaxt="n", xlab="", ylab="", log="y")
add.log.axis(side=2, tcl=+0.8*abs(par()$tcl), two.sided=TRUE)
add.log.axis(logs=c(1), tcl=-0.5*abs(par()$tcl), side=2, two.sided=TRUE)
add.log.axis(logs=c(1), tcl=+1.3*abs(par()$tcl), side=2, two.sided=TRUE)
add.log.axis(logs=1:8, side=2, make.labs=TRUE, las=1, label="QUANTILE")
add.lmomco.axis(las=2, tcl=0.5, side.type="NPP", npp.as.aep=TRUE, case="lower")
options(opts)
par(mgp=c(3,1,0)) # restore defaults
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.