[R] Axes Alignment Problem for Multiple Plots

Barbaglia, Guido (ESA) Guido.Barbaglia at fao.org
Wed Apr 20 08:00:15 CEST 2011

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));
    plot(dat, ylim=c(0,100), type="l");

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


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
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained,
>> reproducible code.

More information about the R-help mailing list