[R] Overlay of barchart and xyplot
Felix Andrews
felix at nfrac.org
Fri Jun 4 04:10:25 CEST 2010
Hi Huapeng,
Firstly, it is worth noting that it is often not recommended to
overlay series with different scales, so you should think about other
ways to present your data.
Secondly, when posting here it is much more helpful to provide the
data in a form that can be copied-and-pasted into R: so rather than
print(mydata), please use dput(mydata).
Regarding the doubleYScale() function from the latticeExtra package,
since you are overlaying grouped plots you should give use.style =
FALSE. Then specify an appropriate par.settings list to the final
plot, which might be
par.settings = simpleTheme(fill = c("dark gray", "light gray",
"white"), col = "black", pch=c(16,17), lty=c(1,2))
I haven't tested this, but I can if you send me your data in a dput() form.
Regarding a composite key, you could construct it using the general
'key' argument described in ?xyplot or if you want two keys in
different positions that would also be possible.
The doubleYScale() function was not really designed for handling such
complex plots... and again, I would encourage you to think about
simpler ways to present your data.
Hope that helps
-Felix
On 4 June 2010 01:48, Chen, Huapeng FOR:EX <Huapeng.Chen at gov.bc.ca> wrote:
>
> Hello,
>
> I am new to R. I am trying to use “DoubleYScale” to overlay one barchart with a xyplot with two lines. I have two problems. One is that I could not figure out how to custom line (point and line) with “par.settings” and seems to me that whatever “par.settings” I used to custom the barchart was also applied to the xyplot (lines) and I don’t know how to apply par.setting separately to each barchart and xyplot for my customization.
>
> The other problem is how to add a key for both barchart and xyplot in a meaningful way.
>
> I attached a piece of R code below I have been struggling to get this to work. Your kind help and advice are greatly appreciated.
>
> Thanks,
>
> Huapeng
>
> ###############################################################################################################################################
> dispersal<-barchart(NTLST_Dispersal_VAR_00_08$LDP_PER*100 + NTLST_Dispersal_VAR_00_08$SPP_PER*100 +
> NTLST_Dispersal_VAR_00_08$SPG_PER*100 ~ NTLST_Dispersal_VAR_00_08$Year | NTLST_Dispersal_VAR_00_08$District,
> data=NTLST_Dispersal_VAR_00_08,
> horizontal=FALSE,
> stack=TRUE,
> layout=c(5,5),
> xlab="Year",
> ylab="%",
> strip = strip.custom( bg="light gray")
> #par.settings = simpleTheme(col = c("dark gray", "light gray", "white")),
> #auto.key=TRUE
> )
>
>
>
> vars<-xyplot(sqrt(NTLST_Dispersal_VAR_00_08$Infestation_NUM) + NTLST_Dispersal_VAR_00_08$AI ~ NTLST_Dispersal_VAR_00_08$Year | NTLST_Dispersal_VAR_00_08$District,
> data=NTLST_Dispersal_VAR_00_08,
> layout=c(5,5),
> type="b",
> ylab="Square roots of number of infested cells/Landscape aggregation index"
> #par.settings = simpleTheme(col = c("black", "black"), pch=c(16,17))
> )
>
> doubleYScale(dispersal, vars,add.ylab2 = TRUE,
> #auto.key=list(text=c("LDP","SPP", "SPG","Infestation","Landscape aggregation index"),
> # points = list(pch=c(16,17)), lines=list(lty=c(1,2)),
> # rectangles = list(size=1.7,border="black", col=c("black", "light gray", "white")),
> # space = "right")
> )
>
> update(trellis.last.object(),
> par.settings = simpleTheme(col = c("dark gray", "light gray", "white"),pch=c(16,17),lty=c(1,2)))
> ###########################################################################
>
> ##############################################################################
> A sample of data used
> ########################
>
> District Year SPG_PER SPP_PER LDP_PER SPP_LDP_PER Infestation_NUM AI
> DAB 1999 0.446808511 0.205673759 0.34751773 0.553191489 461 48.9143
> DAB 2000 0.480769231 0.192307692 0.326923077 0.519230769 332 37.3591
> DAB 2001 0.366141732 0.212598425 0.421259843 0.633858268 663 37.3418
> DAB 2002 0.663366337 0.222772277 0.113861386 0.336633663 791 41.7671
> DAB 2003 0.553278689 0.178278689 0.268442623 0.446721311 2138 54.333
> DAB 2004 0.799204771 0.115308151 0.085487078 0.200795229 2921 62.5666
> DAB 2005 0.824295011 0.106290672 0.069414317 0.175704989 2783 57.9458
> DAB 2006 0.794520548 0.131506849 0.073972603 0.205479452 2210 50.0829
> DAB 2007 0.77972028 0.148601399 0.071678322 0.22027972 2466 54.0918
> DCC 1999 0.844036697 0.105504587 0.050458716 0.155963303 2077 57.9
> DCC 2000 0.7731569 0.096408318 0.130434783 0.2268431 4294 75.5286
> DCC 2001 0.905714286 0.065714286 0.028571429 0.094285714 4302 74.709
> DCC 2002 0.799256506 0.066914498 0.133828996 0.200743494 6095 80.5838
> DCC 2003 0.896703297 0.065934066 0.037362637 0.103296703 7919 85.7303
> DCC 2004 0.887254902 0.068627451 0.044117647 0.112745098 8516 84.7028
> DCC 2005 0.923728814 0.06779661 0.008474576 0.076271186 7759 79.4637
> DCC 2006 0.941935484 0.04516129 0.012903226 0.058064516 6637 74.5994
> DCC 2007 0.890909091 0.072727273 0.036363636 0.109090909 4288 68.593
> DCH 1999 0.691176471 0.161764706 0.147058824 0.308823529 204 38.2682
> DCH 2000 0.245901639 0.151639344 0.602459016 0.754098361 1099 55.3403
> DCH 2001 0.525316456 0.189873418 0.284810127 0.474683544 1350 52.3413
> DCH 2002 0.326599327 0.111111111 0.562289562 0.673400673 9332 88.5776
> DCH 2003 0.797342193 0.102990033 0.099667774 0.202657807 11416 93.0988
> DCH 2004 0.720430108 0.134408602 0.14516129 0.279569892 13120 94.1959
> DCH 2005 0.773480663 0.066298343 0.160220994 0.226519337 13726 93.0554
> DCH 2006 0.943319838 0.032388664 0.024291498 0.056680162 14393 92.2483
> DCH 2007 0.961038961 0.019480519 0.019480519 0.038961039 13729 90.2417
> DCK 1999 0.611111111 0.055555556 0.333333333 0.388888889 75 64.9573
> DCK 2000 0.48 0.04 0.48 0.52 109 60.2273
> DCK 2001 0.511111111 0.111111111 0.377777778 0.488888889 185 56.1514
> DCK 2002 0.6875 0.09375 0.21875 0.3125 202 65.8192
> DCK 2003 0.649122807 0.052631579 0.298245614 0.350877193 332 61.6667
> DCK 2004 1 0 0 0 315 67.156
> DCK 2005 0.541353383 0.157894737 0.30075188 0.458646617 603 57.967
> DCK 2006 0.685314685 0.111888112 0.202797203 0.314685315 912 59.3861
> DCK 2007 0.9 0.075 0.025 0.1 639 55.8722
> ############################################################################
> ______________________________________________
> 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.
>
--
Felix Andrews / 安福立
Integrated Catchment Assessment and Management (iCAM) Centre
Fenner School of Environment and Society [Bldg 48a]
The Australian National University
Canberra ACT 0200 Australia
M: +61 410 400 963
T: + 61 2 6125 4670
E: felix.andrews at anu.edu.au
CRICOS Provider No. 00120C
--
http://www.neurofractal.org/felix/
More information about the R-help
mailing list