[R] unexpected (?) behavior of box()

ani jaya g@@@uu| @end|ng |rom gm@||@com
Fri Jan 7 09:11:56 CET 2022


Hi Petr,

Thank you for pointing that out! Silly newbie here.
So, just want to make sure my mind,
using my example:

par(mar=c(2, 6, 5, 4))
m<-map('world', xlim = c(91, 142), ylim = c(25, 40),
       lwd=1.5, col = "grey",border=NA, fill = T,  bg="white")
box()

first, map use the first mar=c(2,6,5,4),
and then defines the new mar that is mar=c(4.1, 4.1, par("mar")[3],
0.1)=c(4.1, 4.1, 5, 0.1).
And then box using the new mar=c(4.1, 4.1, 5, 0.1). Is that right?

I am sorry if out of topic. Maybe further I will post at r-sig-geo. Thank you.

On Fri, Jan 7, 2022 at 4:39 PM PIKAL Petr <petr.pikal using precheza.cz> wrote:
>
> Hi.
>
> Why do you consider it unexpected?
>
> see
>
> map(database = "world", regions = ".", exact = FALSE, boundary = TRUE,
>   interior = TRUE, projection = "", parameters = NULL, orientation = NULL,
>   fill = FALSE, col = 1, plot = TRUE, add = FALSE, namesonly = FALSE,
>   xlim = NULL, ylim = NULL, wrap = FALSE, resolution = if (plot) 1 else 0,
>   type = "l", bg = par("bg"), mar = c(4.1, 4.1, par("mar")[3], 0.1),
>   myborder = 0.01, namefield="name", lforce="n", ...)
>
> map function redefines mar so your first par is probably changed during
> plotting map and after you define it again box use new mar values.
>
> Cheers
> Petr
>
> > -----Original Message-----
> > From: R-help <r-help-bounces using r-project.org> On Behalf Of ani jaya
> > Sent: Friday, January 7, 2022 8:25 AM
> > To: r-help <r-help using r-project.org>
> > Subject: [R] unexpected (?) behavior of box()
> >
> > Dear R expert,
> >
> > I try to box a figure using box(). However it box the default margin,
> > not the specified margin.
> >
> > #working as expected
> > barplot(1:20)
> > box()
> >
> > #working as expected, the box follow the margin
> > par(mar=c(2, 6, 5, 4))
> > barplot(1:20)
> > box()
> >
> > #not working
> > install.packages("maps")
> > library(maps)
> > par(mar=c(2, 6, 5, 4))
> > m<-map('world', xlim = c(91, 142), ylim = c(25, 40),
> >        lwd=1.5, col = "grey",border=NA, fill = T,  bg="white")
> > box()
> >
> > #the turnaround
> > par(mar=c(2, 6, 5, 4))
> > m<-map('world', xlim = c(91, 142), ylim = c(25, 40),
> >        lwd=1.5, col = "grey",border=NA, fill = T,  bg="white")
> > par(mar=c(2, 6, 5, 4))
> > box()
> >
> > I just curious with this behavior. Is it the problem with the package
> > "map" or box() function?
> > Thank you.
> >
> > > sessionInfo()
> > R version 4.0.2 (2020-06-22)
> > Platform: i386-w64-mingw32/i386 (32-bit)
> > Running under: Windows 10 x64 (build 19043)
> >
> >
> >
> > Ani
> >
> > ______________________________________________
> > R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > 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