# chart.Histogram

##### histogram of returns

Create a histogram of returns, with optional curve fits for density and
normal. This is a wrapper function for `hist`

, see
the help for that function for additional arguments you may wish to pass in.

##### Usage

```
chart.Histogram(
R,
breaks = "FD",
main = NULL,
xlab = "Returns",
ylab = "Frequency",
methods = c("none", "add.density", "add.normal", "add.centered", "add.cauchy",
"add.sst", "add.rug", "add.risk", "add.qqplot"),
show.outliers = TRUE,
colorset = c("lightgray", "#00008F", "#005AFF", "#23FFDC", "#ECFF13", "#FF4A00",
"#800000"),
border.col = "white",
lwd = 2,
xlim = NULL,
ylim = NULL,
element.color = "darkgray",
note.lines = NULL,
note.labels = NULL,
note.cex = 0.7,
note.color = "darkgray",
probability = FALSE,
p = 0.95,
cex.axis = 0.8,
cex.legend = 0.8,
cex.lab = 1,
cex.main = 1,
xaxis = TRUE,
yaxis = TRUE,
...
)
```

##### Arguments

- R
an xts, vector, matrix, data frame, timeSeries or zoo object of asset returns

- breaks
one of:

a vector giving the breakpoints between histogram cells,

a single number giving the number of cells for the histogram,

a character string naming an algorithm to compute the number of cells (see ‘Details’),

a function to compute the number of cells.

For the last three the number is a suggestion only. see

`hist`

for details, default "FD"- main
set the chart title, same as in

`plot`

- xlab
set the x-axis label, same as in

`plot`

- ylab
set the y-axis label, same as in

`plot`

- methods
what to graph, one or more of:

add.density to display the density plot

add.normal to display a fitted normal distibution line over the mean

add.centered to display a fitted normal line over zero

add.rug to display a rug of the observations

add.risk to display common risk metrics

add.qqplot to display a small qqplot in the upper corner of the histogram plot

- show.outliers
logical; if TRUE (the default), the histogram will show all of the data points. If FALSE, it will show only the first through the fourth quartile and will exclude outliers.

- colorset
color palette to use, set by default to rational choices

- border.col
color to use for the border

- lwd
set the line width, same as in

`plot`

- xlim
set the x-axis limit, same as in

`plot`

- ylim
set the y-axis limits, same as in

`plot`

- element.color
provides the color for drawing chart elements, such as the box lines, axis lines, etc. Default is "darkgray"

- note.lines
draws a vertical line through the value given.

- note.labels
adds a text label to vertical lines specified for note.lines.

- note.cex
The magnification to be used for note line labels relative to the current setting of 'cex'.

- note.color
specifies the color(s) of the vertical lines drawn.

- probability
logical; if TRUE, the histogram graphic is a representation of frequencies, the counts component of the result; if FALSE, probability densities, component density, are plotted (so that the histogram has a total area of one). Defaults to TRUE if and only if breaks are equidistant (and probability is not specified). see

`hist`

- p
confidence level for calculation, default p=.99

- cex.axis
The magnification to be used for axis annotation relative to the current setting of 'cex', same as in

`plot`

.- cex.legend
The magnification to be used for sizing the legend relative to the current setting of 'cex'.

- cex.lab
The magnification to be used for x- and y-axis labels relative to the current setting of 'cex'.

- cex.main
The magnification to be used for the main title relative to the current setting of 'cex'.

- xaxis
if true, draws the x axis

- yaxis
if true, draws the y axis

- …
any other passthru parameters to

`plot`

##### Details

The default for `breaks`

is `"FD"`

. Other names for which
algorithms are supplied are `"Sturges"`

(see
`nclass.Sturges`

), `"Scott"`

, and `"FD"`

/
`"Freedman-Diaconis"`

(with corresponding functions
`nclass.scott`

and `nclass.FD`

). Case is ignored
and partial matching is used. Alternatively, a function can be supplied
which will compute the intended number of breaks as a function of `R`

.

##### Note

Code inspired by a chart on: http://zoonek2.free.fr/UNIX/48_R/03.html

##### See Also

##### Examples

```
# NOT RUN {
data(edhec)
chart.Histogram(edhec[,'Equity Market Neutral',drop=FALSE])
# version with more breaks and the
# standard close fit density distribution
chart.Histogram(edhec[,'Equity Market Neutral',drop=FALSE],
breaks=40, methods = c("add.density", "add.rug") )
chart.Histogram(edhec[,'Equity Market Neutral',drop=FALSE],
methods = c( "add.density", "add.normal") )
# version with just the histogram and
# normal distribution centered on 0
chart.Histogram(edhec[,'Equity Market Neutral',drop=FALSE],
methods = c( "add.density", "add.centered") )
# add a rug to the previous plot
# for more granularity on precisely where the distribution fell
chart.Histogram(edhec[,'Equity Market Neutral',drop=FALSE],
methods = c( "add.centered", "add.density", "add.rug") )
# now show a qqplot to give us another view
# on how normal the data are
chart.Histogram(edhec[,'Equity Market Neutral',drop=FALSE],
methods = c("add.centered","add.density","add.rug","add.qqplot"))
# add risk measure(s) to show where those are
# in relation to observed returns
chart.Histogram(edhec[,'Equity Market Neutral',drop=FALSE],
methods = c("add.density","add.centered","add.rug","add.risk"))
# }
```

*Documentation reproduced from package PerformanceAnalytics, version 2.0.4, License:*