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> Waterid 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 _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
I haven't checked it out, but I'm pretty sure grid.polygon will work if you add a default.units = "native" argument to it. Please let me know if it doesn't, I'll take a closer look. polygon will not work. I'll try to add a lpolygon along the lines of llines, lpoints etc for the next release. Deepayan --- Renaud Lancelot <renaud.lancelot at cirad.fr> wrote:> 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 > > > 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 > _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._.___________________________________________________ -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- 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 _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._