# Re: [R] Axes Alignment Problem for Multiple Plots

From: Matthieu Stigler <matthieu.stigler_at_gmail.com>
Date: Wed, 20 Apr 2011 09:30:27 +0200

Guido

You missed William's e-mails, which solved the problem: use

yaxs="i"

in second call. Also, William made the good point that you can rather just use lines() in second call.

Good William!

Mat

Le 20/04/2011 08:00, Barbaglia, Guido (ESA) a écrit :
> Dear Matthieu,
>
> thanks for your clarification! Basically, what I need to do is to plot different series on the same chart using different types of plot (lines, barplot, ...) and it is fundamental that the various charts have the same reference system. I hope that someone in the list is able to fix my problem!
>
>
> Best Regards
> Guido Barbaglia
>
> ________________________________________
> From: mat [matthieu.stigler_at_gmail.com]
> Sent: 19 April 2011 22:58
> To: John Kane
> Cc: r-help_at_r-project.org; Barbaglia, Guido (ESA)
> Subject: Re: [R] Axes Alignment Problem for Multiple Plots
>
> Ok, I can replicate your problem, with following code:
>
> dat<- 1:10
> barplot(dat, beside=TRUE,ylim=c(0,100));
> par()\$usr;
> par(new=T);
> plot(dat, ylim=c(0,100), type="l");
> par()\$usr;
>
> So it looks like even if you specify yourself ylim, the resulting
> effective ylim (usr[3:4] ) will be different! More surprinsingly,
> setting the usr parameter before is not effective:
> par(new=T, usr=c(0,11,0,100));
>
> this will not prevent par()\$usr; to be different than fixed :-(
>
> No idea, but hopefully someone else on the list will be able to provide
>
> Matthieu
>
>
>
>
> Le 19. 04. 11 20:47, John Kane a écrit :
>> What is Coredata(Z0)?
>> It would be very useful. as the posting guidelines suggest to supply working code and sample data.
>>
>>
>> --- On Tue, 4/19/11, Barbaglia, Guido (ESA)<Guido.Barbaglia_at_fao.org> wrote:
>>
>>> From: Barbaglia, Guido (ESA)<Guido.Barbaglia_at_fao.org>
>>> Subject: [R] Axes Alignment Problem for Multiple Plots
>>> To: "r-help_at_r-project.org"<r-help_at_r-project.org>
>>> Cc: "Stigler, Matthieu (EST)"<Matthieu.Stigler_at_fao.org>
>>> Received: Tuesday, April 19, 2011, 11:42 AM
>>> Dear all,
>>>
>>> I'm trying to plot, in the same window,
>>> two different series, using barplot() for the first one and
>>> plot() for the second. What happens is that the second chart
>>> has a different axes origin, therefore the final plot is
>>> wrong. This piece of code shows the differences between the
>>> values of par()\$usr:
>>>
>>> barplot(coredata(Z0), beside=TRUE,
>>> ylim=c(0,100));
>>> par()\$usr;
>>> par(new=T);
>>> plot(coredata(Z0), ylim=c(0,100));
>>> par()\$usr;
>>>
>>> I would like to know how it is possible to edit the values
>>> of par()\$usr[3:4] of the second chart in order to be the
>>> same of the first one or, alternatively, how can I plot
>>> together bar and line series within the same reference
>>> system.
>>>
>>>
>>> Best Regards
>>> Guido Barbaglia
>>> ______________________________________________
>>> R-help_at_r-project.org
>>> mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-help