In context below:

On Jun 15, 2010, at 4:20 AM, Yogesh Tiwari wrote:

Dear John,
Great thanks,
I would appreciate if any expert can throw more light on it.

Thanks in advance,

Best Regards,
Yogesh

On 6/14/10, John Kane <jrkrid...@yahoo.ca> wrote:
Hi Yogesh,

I think you accidentelly replied only to me and not to the mailing list. I'd suggest that you copy your post to me to the list to get input from some
of the
real experts.

Currently I don't see any provision for differently coloured error bars in
the the help page but I easilly could be missing something.

Also you have a fairly busy plot there, you might want to consider having the cuves in separate panels. Perhaps something like this: you can probably
do this much better in lattice or ggplot but can give you an idea.
#=========================================================
x=1:7
y=6:12

uperror=y+2
downerror=y-2

opar <- par(mfrow=c(2,2))
errbar(x,y, uperror, downerror,type="l")
errbar(x,y, uperror, downerror, type="l")
errbar(x,y, uperror, downerror, type="l")
errbar(x,y, uperror, downerror, type="l")
par(opar)
#==========================================================
Also we really should have some sample data., It have to be the entire data
set or even the real data as
long as it has the same format and layout.

Have a look at ?dput for  way to include some easily useable data.

Sorrry I'm not more help.

--- On Sun, 6/13/10, Yogesh Tiwari <yogesh....@googlemail.com> wrote:

From: Yogesh Tiwari <yogesh....@googlemail.com>
Subject: Re: [R] how to use 'points' function to plot two curves with errbar
To: "John Kane" <jrkrid...@yahoo.ca>
Received: Sunday, June 13, 2010, 11:21 PM

Dear John,
Thanks,
I am using errbar in the package Hmisc,

par(new=TRUE), worked between two errbar ploting commands but the new problem is now 'color of arrow (bars)', its always black for all the four curves whereas I have specified separate color for each curve. I want to have similar color of arrow as curve. My command which plots four curves and respective errbar subsequently the generated plot is attached herewith.
Kindly help.


x.val <- as.integer(names(co2mean))
errbar(x.val, co2mean, co2mean + co2sd, co2mean - co2sd, xaxt='n',
col="black", xlab=NA,ylab=NA)# obs error bar
lines(x.val, co2mean, col="black", lwd=2)


par(new=TRUE)

errbar(x.val, co2tm3.month.mean, co2tm3.month.mean + co2sd.tm3,
co2tm3.month.mean - co2sd.tm3, xaxt='n', yaxt='n', col="red",
xlab=NA,ylab=NA)# tm3 error bar

lines(x.val, co2tm3.month.mean, col="red", lwd=2)

par(new=TRUE)

errbar(x.val, co2lsce.month.mean, co2lsce.month.mean + co2sd.lsce,
co2lsce.month.mean - co2sd.lsce, xaxt='n',yaxt='n', col="green",
xlab=NA,ylab=NA)# lsce error bar

lines(x.val, co2lsce.month.mean, col="green", lwd=2)

par(new=TRUE)

errbar(x.val, co2patra1.month.mean, co2patra1.month.mean + co2sd.actm,
co2patra1.month.mean - co2sd.actm, xaxt='n',yaxt='n', col="blue",
xlab=NA,ylab=NA)# actm error bar

lines(x.val, co2patra1.month.mean, col="blue", lwd=2)

I am not sure I fully understand what is being done since I do not believe you have included the "co2mean" data being used to drive the plotting function. If all you want is for errbar to make the error bars colored the same as the points, then it will be necessary to hack the code, since looking at the code, the segments() functions within errbar() are not set up to receive the triple dot (optional arguments) arguments. It is a very simple matter to fix that, however. The slightly hacked errbar2 function was tested with the second example from the errbar:

require(rms)  # has side-effect of also loading Hmisc
errbar2 <-
function (x, y, yplus, yminus, cap = 0.015, main = NULL, sub = NULL,
       xlab = as.character(substitute(x)), ylab = if (is.factor(x) ||
          is.character(x)) "" else as.character(substitute(y)),
add = FALSE, lty = 1, type = "p", ylim = NULL, lwd = 1, pch = 16,
       Type = rep(1, length(y)), ...)
{
    if (is.null(ylim))
        ylim <- range(y[Type == 1], yplus[Type == 1], yminus[Type ==
            1], na.rm = TRUE)
    if (is.factor(x) || is.character(x)) {
        x <- as.character(x)
        n <- length(x)
        t1 <- Type == 1
        t2 <- Type == 2
        n1 <- sum(t1)
        n2 <- sum(t2)
        omai <- par("mai")
        mai <- omai
        mai[2] <- max(strwidth(x, "inches")) + 0.25 * .R.
        par(mai = mai)
        on.exit(par(mai = omai))
        plot(NA, NA, xlab = ylab, ylab = "", xlim = ylim, ylim = c(1,
            n + 1), axes = FALSE, ...)
        axis(1)
        w <- if (any(t2))
            n1 + (1:n2) + 1
        else numeric(0)
        axis(2, at = c(seq.int(length.out = n1), w), labels = c(x[t1],
            x[t2]), las = 1, adj = 1)
        points(y[t1], seq.int(length.out = n1), pch = pch, type = type,
            ...)
        segments(yplus[t1], seq.int(length.out = n1), yminus[t1],
            seq.int(length.out = n1), lwd = lwd, lty = lty, ...)
        if (any(Type == 2)) {
            abline(h = n1 + 1, lty = 2, ...)
            offset <- mean(y[t1]) - mean(y[t2])
            if (min(yminus[t2]) < 0 & max(yplus[t2]) > 0)
                lines(c(0, 0) + offset, c(n1 + 1, par("usr")[4]),
                  lty = 2, ...)
            points(y[t2] + offset, w, pch = pch, type = type,
                ...)
            segments(yminus[t2] + offset, w, yplus[t2] + offset,
                w, lwd = lwd, lty = lty, ...)
            at <- pretty(range(y[t2], yplus[t2], yminus[t2]))
            axis(side = 3, at = at + offset, labels = format(round(at,
                6)))
        }
        return(invisible())
    }
    if (add)
        points(x, y, pch = pch, type = type, ...)
    else plot(x, y, ylim = ylim, xlab = xlab, ylab = ylab, pch = pch,
        type = type, ...)
    xcoord <- par()$usr[1:2]
    smidge <- cap * (xcoord[2] - xcoord[1])/2
    segments(x, yminus, x, yplus, lty = lty, lwd = lwd, ...)
    if (par()$xlog) {
        xstart <- x * 10^(-smidge)
        xend <- x * 10^(smidge)
    }
    else {
        xstart <- x - smidge
        xend <- x + smidge
    }
    segments(xstart, yminus, xend, yminus, lwd = lwd, lty = lty, ...)
    segments(xstart, yplus, xend, yplus, lwd = lwd, lty = lty, ...)
    return(invisible())
}

errbar2(c('a','b','d','a - b','a - d','b - d'),
c(cla[1],clb[1],cld[1],cla[1]-clb[1],cla[1]-cld[1],clb[1]- cld[1]),
       c(cla[3],clb[3],cld[3],a.b[2],a.d[2],b.d[2]),
       c(cla[2],clb[2],cld[2],a.b[1],a.d[1],b.d[1]),
       Type=c(1,1,1,2,2,2), xlab='', ylab='', col=1:3)





Best regards,
Yogesh



On Sat, Jun 5, 2010 at 11:36 PM, John Kane <jrkrid...@yahoo.ca> wrote:

The first thing we need to know is what "errbar" are you using?

There are at least two, on in the Hmisc package and one in sfsmisc.


PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html and provide commented, minimal,
self-contained,reproducible code.


I'm not sure what you are trying to do here but perhaps looking at "new" in
?par  might hrlp you.

Example:
plot(1:10, col="red")
par(new=TRUE)
plot(10:1, col="blue")





--- On Sat, 6/5/10, Yogesh Tiwari <yogesh....@googlemail.com> wrote:

From: Yogesh Tiwari <yogesh....@googlemail.com>

Subject: [R] how to use 'points' function to plot two curves with errbar
To: r-h...@stat.math.ethz.ch
Received: Saturday, June 5, 2010, 10:06 AM




Dear R Users,
I am using R on windows.

how to use 'points' function to plot two curves with
errbar

I am doing like:

x.val <- as.integer(names(co2mean))

errbar(x.val, co2mean, co2mean + co2sd, co2mean - co2sd,
xaxt='n', col=1,
xlab=NA,ylab=NA)# obs error bar
lines(x.val, co2mean, col=1, lwd=2)

errbar(x.val, co2tm3.month.mean, co2tm3.month.mean +

co2sd.tm3,
co2tm3.month.mean - co2sd.tm3, xaxt='n', col=2,
xlab=NA,ylab=NA)# model
error bar
lines(x.val, co2tm3.month.mean, col=2, lwd=2)

Above code replaces first error bar and its line with

second. Kindly help,
how to use 'points' function here so both above can get
over ploted

Thanks,
Regards,
Yogesh

PLEASE do read the posting guide http://www.R-project.org/posting-guide.html

and provide commented, minimal, self-contained,
reproducible code.

David Winsemius, MD
West Hartford, CT

______________________________________________
R-help@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.

Reply via email to