[R] Problem with plotting size/location on variation of star/segment plot
Uwe Ligges
ligges at statistik.uni-dortmund.de
Sat Mar 5 19:49:21 CET 2005
Shelby Berkowitz wrote:
> Dear R gurus,
>
> I'm running into a problem with some modified segment plots I've coded
> using stars(). What I am trying to do is superimpose two series of data
> along with radial axes markers in a 2x2 graphics frame. This is working
> fine now, except for the hitch: my plots overfill the frame and are not
> centered within it (on my runs they always end up looking like they've
> been budged up and to the left). They're also a little warped-looking
> (more oval than perfectly round).
>
> - I don't think this is a problem with my par() settings, as I've
> checked them out and they don't look suspicious. Also, I've tested
> generating other plots (e.g., dummy histograms) on the same device and
> they fit perfectly. It's also not a problem with fitting stars() plots
> into a par(mfrow=c(2,2) frame, as I get the same offset/overflow when I
> run just one plot on a mfrow=c(1,1) frame.
> - I don't think it's a problem with the windows graphics device, as I
> tried plotting to other devices (e.g., postscript) and get the same
> results.
> - Thus, I'm pretty sure this comes down to something funky with the way
> I'm using stars(). My runs of examples from stars() fit just as they
> should inside their graphics frames, but as far as I can see, the
> individual calls to stars() below don't look materially different from
> the ones in the examples.
>
> At this point, I'm completely stumped. Can someone please point me
> towards what I might be doing wrong here? Any and all advice will be
> most humbly appreciated!
> BTW, I'm running R 2.00 on Windows XP, all packages updated.
>
> Example version of my code is pasted below (the loop is for example
> purposes only):
>
> ##begin sample code
> par(mfrow=c(2,2))
> for (i in 1:4) {
> ## generate sample data for plot:
> a<- sample(c(20:70)*.01,18)
> testA <-
> as.data.frame(rbind(a,a+((1-a)*sample(c(1:10)*.1,18,replace=T))))
> ## open new plot space
> plot.new()
> ## plot data series:
> stars(testA[2,], locations=0:1,full = TRUE, scale = F,
> draw.segments=TRUE, add=TRUE,col.segments=heatshades[7])
Well, since you have neither called plot.window() nor stars() with
"add=FALSE"), the dimensions have not been set up correctly.
In the first call above, simply say add = FALSE.
Uwe Ligges
> stars(testA[1,], locations=0:1,full = TRUE, scale = F,
> draw.segments=TRUE, add=TRUE,col.segments=heatshades[3])
> majgrid <- matrix(rep((c(1:10)*.1),ncol(testA)),nrow=10,byrow=F)
> ## generate and plot radar grid:
> mingrid <-
> matrix(rep((c(1:10)*.1-.05),ncol(testA)),nrow=10,byrow=F)
> stars(majgrid, locations=0:1, scale=F, draw.segments = TRUE,
> add=T, lty=1, col.segments=0)
> stars(mingrid, locations=0:1, scale=F, draw.segments = TRUE,
> add=T, lty=2, col.segments=0)}
> par(mfrow=c(1,1))
> ##end sample code
>
> Thank you,
>
> Shelby
>
> ===============================
> Shelby L. Berkowitz
> Ecological-Community Psychology
> and Institute for Health Care Studies
> Michigan State University
> berkowi4 at msu.edu
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
More information about the R-help
mailing list