I am trying to plot a histogram with my dataset that has 68 elements, 67 of
which are zero and the last one is 18. It can be reproduced as follows:
x<-array(0, dim=(68))
x[1] = 18
I am trying to plot its histogram using:
hist(x, breaks=10, xlim=c(0, 100), axes=F)
axis(2, at=seq(0, 70, 5)) # for the y-axis
axis(1, at=seq(0, 100, 10)) # for the x-axis
As you would also see if you reproduced the plot, the bars become really
thin. I would very much appreciate any help on fixing this issue. Thanks so
much in advance!
--
View this message in context: http://n4.nabble.com/Thin-bars-in-R-hist-tp997908p997908.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________
R-h...@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
hist(x, breaks=10, xlim=c(0, 18), axes=FALSE)
axis(2, at=seq(0, 70, 5))
axis(1, at=seq(0, 18, 9))
but this would not leave you all that tempting, empty space in which you
could insert a cartoon or humorous epigram. Why don't we split the
difference and try:
x11(width=10,height=7)
hist(x, breaks=10, xlim=c(0, 40), axes=FALSE)
axis(2, at=seq(0, 70, 5))
axis(1, at=seq(0, 40, 10))
Jim
-Peter Ehlers
Whalojazz wrote:
> Hi,
>
> I am trying to plot a histogram with my dataset that has 68 elements, 67 of
> which are zero and the last one is 18. It can be reproduced as follows:
>
> x<-array(0, dim=(68))
> x[1] = 18
> I am trying to plot its histogram using:
>
> hist(x, breaks=10, xlim=c(0, 100), axes=F)
> axis(2, at=seq(0, 70, 5)) # for the y-axis
> axis(1, at=seq(0, 100, 10)) # for the x-axis
>
> As you would also see if you reproduced the plot, the bars become really
> thin. I would very much appreciate any help on fixing this issue. Thanks so
> much in advance!
--
Peter Ehlers
University of Calgary
403.202.3921
You are asking for a range of data from 0 to 18 to be divided into about
10 bins, so each bin will have a width of roughly 0.2.
If this is not what you wanted, then you need to do something else,
depending on what you wanted but didn't tell...
Were you perhaps looking for hist(x, breaks=seq(0, 100,10))? (Notice
that if "breaks" is a single number, it will generate breaks based on
range(x), not xlim.)
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dal...@biostat.ku.dk) FAX: (+45) 35327907
Peter Ehlers wrote:
>
> Just seting breaks=2 should fix your 'issue'.
> But what could such a histogram possibly tell anyone?
> Unless this is a pathological case in a more elaborate
> analysis, I can't see any sense in what you're doing.
>
Yes it did! However, this requires that I explicitly set break to the number
of nonzero entries in the x's count. I see your point about the histogram
but I believe it's important for me to show zero values as well.
Thanks a lot!
--
View this message in context: http://n4.nabble.com/Thin-bars-in-R-hist-tp997908p997943.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________
Peter Dalgaard wrote:
>
> Were you perhaps looking for hist(x, breaks=seq(0, 100,10))? (Notice
> that if "breaks" is a single number, it will generate breaks based on
> range(x), not xlim.)
>
Great! That's *exactly* what I needed. Thanks a lot!
--
View this message in context: http://n4.nabble.com/Thin-bars-in-R-hist-tp997908p997945.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________