Hello everyone. For reasons too long to explain I wanted to do plots similar to histograms with plot(type="h"). I ran into a problem - if I set line width too high, histogram isn't accurate anymore. For example: par(lend=2) plot(c(2,4,3,2),ylim=c(0,5), type="h") abline(h=3) Column 3 appears just as high as it should. But if I do par(lend=2) plot(c(2,4,3,2),ylim=c(0,5), type="h",lwd=100) abline(h=3) then columns become too high. Can I correct the problem or is there another way to display my data correctly? Thanks for help, Ga??per Cankar National Examinations Centre, Slovenia
Gasper Cankar wrote:> Hello everyone. > > For reasons too long to explain I wanted to do plots similar to histograms with plot(type="h"). > I ran into a problem - if I set line width too high, histogram isn't accurate anymore. > > For example: > > par(lend=2) > plot(c(2,4,3,2),ylim=c(0,5), type="h") > abline(h=3) > > Column 3 appears just as high as it should. But if I do > > par(lend=2) > plot(c(2,4,3,2),ylim=c(0,5), type="h",lwd=100) > abline(h=3) > > then columns become too high. Can I correct the problem or is there another way to display my data correctly? >Try ?barplot instead: bp <- barplot(c(2, 4, 3, 2), ylim = c(0, 5)) axis(side = 1, at = bp, labels = 1:4) abline(h = 3) box() --sundar
"Gasper Cankar" <gasper.cankar at ric.si> writes:> Hello everyone. > > For reasons too long to explain I wanted to do plots similar to histograms with plot(type="h"). > I ran into a problem - if I set line width too high, histogram isn't accurate anymore. > > For example: > > par(lend=2) > plot(c(2,4,3,2),ylim=c(0,5), type="h") > abline(h=3) > > Column 3 appears just as high as it should. But if I do > > par(lend=2) > plot(c(2,4,3,2),ylim=c(0,5), type="h",lwd=100) > abline(h=3) > > then columns become too high. Can I correct the problem or is there another way to display my data correctly? > > Thanks for help,lend=1 seems to cure it. -- 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.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
Gasper Cankar <gasper.cankar <at> ric.si> writes:> > Hello everyone. > > For reasons too long to explain I wanted to do plots similar to histogramswith plot(type="h").> I ran into a problem - if I set line width too high, histogram isn't accurateanymore. try par(lend=1) instead. Far from obvious, but see Paul Murrell's article in R News #2 of 2004 cheers Ben
Hi Ga伵仭per On Wed, 2006-02-22 at 14:12 +0100, Gasper Cankar wrote:> Hello everyone. > > For reasons too long to explain I wanted to do plots similar to histograms with plot(type="h"). > I ran into a problem - if I set line width too high, histogram isn't accurate anymore. > > For example: > > par(lend=2) > plot(c(2,4,3,2),ylim=c(0,5), type="h") > abline(h=3) > > Column 3 appears just as high as it should. But if I do > > par(lend=2) > plot(c(2,4,3,2),ylim=c(0,5), type="h",lwd=100) > abline(h=3) > > then columns become too high. Can I correct the problem or is there another way to display my data correctly?You need to use lend=1 or lend="butt" in your par() statement. In my view, it would be nice to change the default to use lend=1 for plot type = h, or at least to include a warning when square is used, since the effect of increasing the lwd may not always be obvious.