[R] lattice library: xyplot and polygons
Renaud Lancelot
renaud.lancelot at cirad.fr
Sun Mar 10 16:43:14 CET 2002
Dear R-Helpers,
Is there a way to draw shaded (filled) polygons in panel graphs produced
by xyplot ? I made different trials (see below) with polygon() and
grid.polygon() but polygons are not drawn (probably for the same reason
that prevents the use of lines, points, etc. in xyplot panels).
Thanks in advance,
Renaud
> Water
id label longitude latitude
515 21 Zone inondable -14.91929 15.27983
516 21 Zone inondable -14.91803 15.27967
517 21 Zone inondable -14.91765 15.27990
518 21 Zone inondable -14.91722 15.28029
519 21 Zone inondable -14.91706 15.28061
520 21 Zone inondable -14.91672 15.28125
521 21 Zone inondable -14.91566 15.28194
522 21 Zone inondable -14.91470 15.28189
523 21 Zone inondable -14.91334 15.28132
524 21 Zone inondable -14.91297 15.28057
525 21 Zone inondable -14.91362 15.27972
526 21 Zone inondable -14.91501 15.27931
527 21 Zone inondable -14.91573 15.27942
528 21 Zone inondable -14.91609 15.27896
529 21 Zone inondable -14.91655 15.27799
530 21 Zone inondable -14.91732 15.27777
531 21 Zone inondable -14.91802 15.27758
532 21 Zone inondable -14.91855 15.27808
533 21 Zone inondable -14.91914 15.27884
534 21 Zone inondable -14.91929 15.27983
604 25 Zone inondable -14.89753 15.23055
605 25 Zone inondable -14.89731 15.22856
606 25 Zone inondable -14.89784 15.22840
607 25 Zone inondable -14.89935 15.22814
608 25 Zone inondable -14.90030 15.22756
609 25 Zone inondable -14.90119 15.22746
610 25 Zone inondable -14.90149 15.22777
611 25 Zone inondable -14.90146 15.22835
612 25 Zone inondable -14.90228 15.22875
613 25 Zone inondable -14.90293 15.22937
614 25 Zone inondable -14.90332 15.23041
615 25 Zone inondable -14.90298 15.23109
616 25 Zone inondable -14.90201 15.23152
617 25 Zone inondable -14.90113 15.23206
618 25 Zone inondable -14.90051 15.23233
619 25 Zone inondable -14.90024 15.23305
620 25 Zone inondable -14.89996 15.23318
621 25 Zone inondable -14.89902 15.23299
622 25 Zone inondable -14.89894 15.23189
623 25 Zone inondable -14.89890 15.23123
624 25 Zone inondable -14.89800 15.23064
625 25 Zone inondable -14.89753 15.23055
1098 34 Zone inondable -14.87331 15.14367
1099 34 Zone inondable -14.87443 15.14398
1100 34 Zone inondable -14.87485 15.14436
1101 34 Zone inondable -14.87541 15.14516
1102 34 Zone inondable -14.87576 15.14656
1103 34 Zone inondable -14.87548 15.14816
1104 34 Zone inondable -14.87483 15.14857
1105 34 Zone inondable -14.87375 15.14881
1106 34 Zone inondable -14.87230 15.14951
1107 34 Zone inondable -14.87142 15.15006
1108 34 Zone inondable -14.87069 15.15028
1109 34 Zone inondable -14.86981 15.14998
1110 34 Zone inondable -14.86803 15.14950
1111 34 Zone inondable -14.86779 15.14766
1112 34 Zone inondable -14.86815 15.14673
1113 34 Zone inondable -14.86889 15.14658
1114 34 Zone inondable -14.86954 15.14628
1115 34 Zone inondable -14.87018 15.14572
1116 34 Zone inondable -14.87097 15.14583
1117 34 Zone inondable -14.87279 15.14584
1118 34 Zone inondable -14.87289 15.14478
1119 34 Zone inondable -14.87331 15.14367
>
> Asp <- diff(range(Water$longitude)) / diff(range(Water$latitude))
> ### works but polygons are empty
> xyplot(longitude ~ latitude,
+ data = Water, groups = id, aspect = Asp,
+ panel = function(x, y, ...){
+ panel.superpose(x, y, type = "l", col = 1,...)
+ })
> ### does not work
> xyplot(longitude ~ latitude,
+ data = Water, aspect = Asp,
+ panel = function(x, y){
+ for(i in unique(Water$id)){
+ cond <- Water$id == i
+ polygon(x = Water$latitude[cond], y = Water$longitude[cond],
+ border = "black", col = "light blue")
+ }
+ })
> ### does not work
> xyplot(longitude ~ latitude,
+ data = Water, aspect = Asp,
+ panel = function(x, y){
+ for(i in unique(Water$id)){
+ cond <- Water$id == i
+ grid.polygon(x = Water$latitude[cond],
+ y = Water$longitude[cond],
+ gp = gpar(col = "black", fill = "light blue"))
+ }
+ })
>
--
Dr Renaud Lancelot, vétérinaire
CIRAD, Département Elevage et Médecine Vétérinaire (CIRAD-Emvt)
Programme Productions Animales
http://www.cirad.fr/presentation/programmes/prod-ani.shtml
ISRA-LNERV tel (221) 832 49 02
BP 2057 Dakar-Hann fax (221) 821 18 79 (CIRAD)
Senegal e-mail renaud.lancelot at cirad.fr
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list