Skip to content

issue with plot (type="h")

5 messages · Gasper Cankar, Sundar Dorai-Raj, Peter Dalgaard +2 more

#
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:
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:
lend=1 seems to cure it.
#
Gasper Cankar <gasper.cankar <at> ric.si> writes:
with plot(type="h").
anymore.

 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:
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.