[R] histogram with density

Steve Lianoglou mailinglist.honeypot at gmail.com
Tue May 24 05:52:29 CEST 2011


Hi,

On Mon, May 23, 2011 at 11:41 PM, Rekha <chithralekha86 at gmail.com> wrote:
> Hello All,*
>
> *I want to draw a histogram with density curve. *
>
> *For that simply i created a data called*"x" *and i used the function called
> *    hist(x, col = "blue", freq = FALSE),**   *from this function i got a
> histogram*.
>
> *After that , i tried this function*  ** lines(density(x), col = "red", lwd
> = 2  )  *but i could not get the density curve.
>
> So, Again i used  other function*    curve(dnorm, col = 2, add = TRUE)**
> *instead of the previous function for density curve.
>
> but still am getting error in R  like this:
>
>  Error in plot.xy(xy.coords(x, y), type = type, ...)
>  plot.new has not been called yet"
>
>
> *  I have used below codes to have a data and histogram with density curve"
>
> x <- rnorm(200)
> hist(x, col = "blue", freq = FALSE)
> lines(density(x), col = "red", lwd = 2)

You should use the code above.

I don't get it though -- this is working fine for me. Are you getting
the "plot.new" error for both versions of your code?

Although I feel like in 99% of the time this won't be necessary, but
what happens if you call `plot.new()` before your call to hist?

eg:

R> x <- rnorm(200)
R> plot.new()
R> hist(x, col = "blue", freq = FALSE)
R> lines(density(x), col = "red", lwd = 2)

Does that work? If not -- what if you use `dev.new()` in place of `plot.new()`?

-steve

-- 
Steve Lianoglou
Graduate Student: Computational Systems Biology
 | Memorial Sloan-Kettering Cancer Center
 | Weill Medical College of Cornell University
Contact Info: http://cbio.mskcc.org/~lianos/contact



More information about the R-help mailing list