[R] change confidence interval line length in barplot2 (plotrix package)
Marc Schwartz
marc_schwartz at me.com
Tue Jan 22 22:59:17 CET 2013
On Jan 22, 2013, at 2:41 PM, Martin Batholdy <batholdy at googlemail.com> wrote:
> Ok, I have to apologize,
> I confused the packages.
>
> It's the function barplot2 from the gplots package!
>
>
>> It calls itself an extenstion of barplot2 and has a ci.lwd argument. Might save you the time of doing what I thought might be needed, hacking te code.
>
> Unfortunately ci.lwd controls the thickness of the line but not the horizontal width.
barplot2() in gplots uses a hard coded width for the CI's, which is 50% of the bar width, so it is a consistent proportion.
You could hack the code or simply use base graphics barplot() along with either ?segments or perhaps more easily, ?arrows, which would give you more flexibility.
Compare:
mp <- barplot(1:5)
arrows(mp, 1:5 + 0.5, mp, 1:5 - 0.5, code = 3, angle = 90, length = 0.1)
with:
mp <- barplot(1:5)
arrows(mp, 1:5 + 0.5, mp, 1:5 - 0.5, code = 3, angle = 90, length = 0.25)
where the 'length' argument to arrows() defines the width of the upper and lower boundary lines.
There are a fair number of other functions around that can add CI's to plots as well and a search of the archives should bear fruit.
Regards,
Marc Schwartz
>
> On Jan 22, 2013, at 21:24 , David Winsemius <dwinsemius at comcast.net> wrote:
>
>>
>> On Jan 22, 2013, at 10:28 AM, Martin Batholdy wrote:
>>
>>> Hi,
>>>
>>> is there any way to change the width of the horizontal line of confidence intervals
>>> in the barplot2 function in the plotrix package (independent of the width of the bars)?
>>>
>>>
>>> example code:
>>>
>>> library(plotrix)
>>> # Example with confidence intervals and grid
>>> hh <- t(VADeaths)[, 1]
>>> mybarcol <- "gray20"
>>> ci.l <- hh * 0.85
>>> ci.u <- hh * 1.15
>>> mp <- barplot2(hh, beside = TRUE,
>>> col = c("lightblue", "mistyrose",
>>> "lightcyan", "lavender"),
>>> legend = colnames(VADeaths), ylim = c(0, 20),
>>> main = "Death Rates in Virginia", font.main = 4,
>>> sub = "Faked 95 percent error bars", col.sub = mybarcol,
>>> cex.names = 1.5, plot.ci = TRUE, ci.l = ci.l, ci.u = ci.u)
>>
>> When I did an sos::findFn("barplot2") search to locate the "real" `barplot2` O alos noted in the same package (gplots) a function named `ooplot`. It calls itself an extenstion of barplot2 and has a ci.lwd argument. Might save you the time of doing what I thought might be needed, hacking te code.
>>
>> --
>> David Winsemius
>> Alameda, CA, USA
>>
More information about the R-help
mailing list