*Marc Schwartz ,*
**  Method2 is what i need, and they are good answers. A little more
question is how to add the legend to the plot? legend() may do it,but i fail
to add them.
Thanks again.

----------------------------
with kind regards
zhijie zhang

On 9/29/06, Marc Schwartz (via MN) <mschwartz@mn.rr.com> wrote:
>
> On Thu, 2006-09-28 at 23:55 +0800, zhijie zhang wrote:
> > Dear friends,
> >  I met a problem on plotting.
> > My dataset is :
> > year    MHBC LHBC MHRC LURC
> > 1993   11.75   4.50   0.43   0.46
> > 1994    7.25   1.25   0.35   0.51
> > 1995    8.67   2.17   0.54   0.44
> > 1996   2.67   1.33   0.78   0.47
> > 1997   3.42   4.92   0.69   0.48
> > 1998   1.92   3.08   0.72   0.54
> > 1999   2.33   2.58   0.74   0.41
> > 2000   5.75   4.50   0.45   0.50
> > 2001   3.75   4.42   0.52   0.47
> > 2002   2.33   1.83   0.58   0.45
> > 2003   0.25   2.83   0.50   0.39
> > I want to get a plot -line with scatters, the requirement is :
> > x-axis is year;
> > two y-axis:
> >   y1 corresponds to MHBC and LHBC;
> >   y2 corresponds to MHRC and LURC;
> > hope to use different symbols to differentiate the MHBC,LHBC,MHRC
> and  LURC.
> >
> > The following is my program, but  very bad ,:
> > *plot(a$year,a$MHBC,type='b')  #line1
> > par(new=T)
> > plot(a$year,a$LHBC,type='b')  #line2
> > par(new=T)
> > plot(a$year,a$MHRC,type='b')  #line3
> > par(new=T)
> > plot(a$year,a$LURC,type='b')   #line4
> > axis(4, at=pretty(range(a$MHRC)))*
> > In the figure, the labels and scales of X-axis are vague, the scale of
> > y-axis is not very good.
> > The better figure should be like the line1 and 2 are in the upper, and
> line3
> > and 4 are in the bottom.
> > Any suggestion are welcome!
>
> It's not entirely clear to me what you want, so let me offer three
> possibilities.
>
>
> 1. Do all four lines in a single plot with a common y axis:
>
> matplot(a$year, a[, -1], type = "o", pch = 15:18)
>
>
>
> 2. Do all four lines in a single plot with the first two having a
> separate left hand y axis and the second two having a separate right
> hand y axis:
>
> # Draw the first pair of lines
> matplot(a$year, a[, 2:3], type = "o", pch = c(19, 20),
>        lty = "solid", ann = FALSE)
>
> # Get the current plot region boundaries
> usr <- par("usr")
>
> # Get the range of the second set of columns
> range.y2 <- range(a[, 4:5])
>
> # Change the plot region y axis range for the second
> # set of columns. Extend them by 4% as per the default
> par(usr = c(usr[1], usr[2],
>            range.y2[1] * 0.96 , range.y2[2] * 1.04))
>
> # Add the second pair of lines
> matlines(a$year, a[, 4:5], type = "o", pch = c(15, 18),
>         lty = "dashed", col = c("blue", "green"))
>
> # Add the second y axis
> axis(4)
>
>
>
> 3. Do the first two lines in an upper plot and the second two lines in a
> lower plot, each has its own y axis range:
>
> # Set plot region to have two rows
> par(mfrow = c(2, 1))
>
> # Adjust the plot margins
> par(mar = c(2, 5, 2, 2))
>
> # Draw the first pair of lines
> matplot(a$year, a[, 2:3], type = "o", pch = c(19, 20),
>        lty = "solid", ylab = "First Pair")
>
>
> par(mar = c(3, 5, 2, 2))
>
> # Add the second pair of lines
> matplot(a$year, a[, 4:5], type = "o", pch = c(15, 18),
>        lty = "dashed", col = c("blue", "green"),
>        ylab = "Second Pair")
>
>
>
> See ?matplot, ?par and ?points for more information.
>
> HTH,
>
> Marc Schwartz
>
>
>

	[[alternative HTML version deleted]]

