# plot.ci

##### Plot confidence intervals

This function adds confidence intervals to a ROC curve plot, either as bars or as a confidence shape.

##### Usage

```
# S3 method for ci.thresholds
plot(x, length=.01*ifelse(attr(x,
"roc")$percent, 100, 1), col=par("fg"), ...)
# S3 method for ci.sp
plot(x, type=c("bars", "shape"), length=.01*ifelse(attr(x,
"roc")$percent, 100, 1), col=ifelse(type=="bars", par("fg"),
"gainsboro"), no.roc=FALSE, ...)
# S3 method for ci.se
plot(x, type=c("bars", "shape"), length=.01*ifelse(attr(x,
"roc")$percent, 100, 1), col=ifelse(type=="bars", par("fg"),
"gainsboro"), no.roc=FALSE, ...)
```

##### Arguments

- x
a confidence interval object from the functions

`ci.thresholds`

,`ci.se`

or`ci.sp`

.- type
type of plot, “bars” or “shape”. Can be shortened to “b” or “s”. “shape” is only available for

`ci.se`

and`ci.sp`

, not for`ci.thresholds`

.- length
the length (as plot coordinates) of the bar ticks. Only if

`type="bars"`

.- no.roc
if

`FALSE`

, the ROC line is re-added over the shape. Otherwise if`TRUE`

, only the shape is plotted. Ignored if`type="bars"`

- col
color of the bars or shape.

- …
further arguments for

`segments`

(if`type="bars"`

) or`polygon`

(if`type="shape"`

).

##### Details

This function adds confidence intervals to a ROC curve plot, either as
bars or as a confidence shape, depending on the state of the
`type`

argument. The shape is plotted over the ROC curve, so that
the curve is re-plotted unless `no.roc=TRUE`

.

Graphical functions are called with suppressWarnings.

##### Value

This function returns the confidence interval object invisibly.

##### Warnings

With `type="shape"`

, the warning “Low definition shape” is
issued when the shape is defined by less than 15 confidence
intervals. In such a case, the shape is not well defined and the ROC
curve could pass outside the shape. To get a better shape, increase
the number of intervals, for example with:

plot(ci.sp(rocobj, sensitivities=seq(0, 1, .01)), type="shape")

##### References

Xavier Robin, Natacha Turck, Alexandre Hainard, *et al.*
(2011) ``pROC: an open-source package for R and S+ to analyze and
compare ROC curves''. *BMC Bioinformatics*, **7**, 77.
DOI: 10.1186/1471-2105-12-77.

##### See Also

##### Examples

```
# NOT RUN {
data(aSAH)
# }
# NOT RUN {
# Start a ROC plot
rocobj <- plot.roc(aSAH$outcome, aSAH$s100b)
plot(rocobj)
# Thresholds
ci.thresolds.obj <- ci.thresholds(rocobj)
plot(ci.thresolds.obj)
# Specificities
plot(rocobj) # restart a new plot
ci.sp.obj <- ci.sp(rocobj, boot.n=500)
plot(ci.sp.obj)
# Sensitivities
plot(rocobj) # restart a new plot
ci.se.obj <- ci(rocobj, of="se", boot.n=500)
plot(ci.se.obj)
# Plotting a shape. We need more
ci.sp.obj <- ci.sp(rocobj, sensitivities=seq(0, 1, .01), boot.n=100)
plot(rocobj) # restart a new plot
plot(ci.sp.obj, type="shape", col="blue")
# Direct syntax (response, predictor):
plot.roc(aSAH$outcome, aSAH$s100b,
ci=TRUE, of="thresholds")
# }
```

*Documentation reproduced from package pROC, version 1.16.2, License: GPL (>= 3)*