I want to have one column in a dataframe define the color and another define the pch.
This can be done easily with a single panel: xyplot(mpg ~ wt, data=mtcars, col = mtcars$gear, pch = mtcars$carb ) This produces the expected result: two pch that are the same color are unique in the whole plot. But when you add cyl as a factor. Those two points are only unique within their respective panels, and not across the whole plot. Matt *Matthew R. Snyder* *~~~~~~~~~~~~~~~~~* PhD Candidate University Fellow University of Toledo Computational biologist, ecologist, and bioinformatician Sponsored Guest Researcher at NOAA PMEL, Seattle, WA. matthew.snyd...@rockets.utoledo.edu msnyder...@gmail.com [image: Mailtrack] <https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&> Sender notified by Mailtrack <https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&> 04/09/19, 9:26:09 PM On Tue, Apr 9, 2019 at 9:23 PM Bert Gunter <bgunter.4...@gmail.com> wrote: > 1. I am quite sure that whatever it is that you want to do can be done. > Probably straightforwardly. The various R graphics systems are mature and > extensive. > > 2. But I, for one, do not understand from your post what it is that you > want to do. Nor does anyone else apparently. > > Cheers, > > Bert Gunter > > "The trouble with having an open mind is that people keep coming along and > sticking things into it." > -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) > > > On Tue, Apr 9, 2019 at 8:10 PM Matthew Snyder <msnyder...@gmail.com> > wrote: > >> Thanks, Jim. >> >> I appreciate your contributed answer, but neither of those make the >> desired >> plot either. I'm actually kind of shocked this isn't an easier more >> straightforward thing. It seems like this would be something that a user >> would want to do frequently. I can actually do this for single plots in >> ggplot. Maybe I should contact the authors of lattice and see if this is >> something they can help me with or if they would like to add this as a >> feature in the future... >> >> Matt >> >> >> >> *Matthew R. Snyder* >> *~~~~~~~~~~~~~~~~~* >> PhD Candidate >> University Fellow >> University of Toledo >> Computational biologist, ecologist, and bioinformatician >> Sponsored Guest Researcher at NOAA PMEL, Seattle, WA. >> matthew.snyd...@rockets.utoledo.edu >> msnyder...@gmail.com >> >> >> >> [image: Mailtrack] >> < >> https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5& >> > >> Sender >> notified by >> Mailtrack >> < >> https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5& >> > >> 04/09/19, >> 7:52:27 PM >> >> On Tue, Apr 9, 2019 at 4:53 PM Jim Lemon <drjimle...@gmail.com> wrote: >> >> > Hi Matthew, >> > How about this? >> > >> > library(lattice) >> > xyplot(mpg ~ wt | cyl, >> > data=mtcars, >> > col = mtcars$gear, >> > pch = mtcars$carb >> > ) >> > library(plotrix) >> > grange<-range(mtcars$gear) >> > xyplot(mpg ~ wt | cyl, >> > data=mtcars, >> > col = >> > color.scale(mtcars$gear,extremes=c("blue","red"),xrange=grange), >> > pch = as.character(mtcars$carb) >> > ) >> > >> > Jim >> > >> > On Wed, Apr 10, 2019 at 7:43 AM Matthew Snyder <msnyder...@gmail.com> >> > wrote: >> > > >> > > I am making a lattice plot and I would like to use the value in one >> > column >> > > to define the pch and another column to define color of points. >> Something >> > > like: >> > > >> > > xyplot(mpg ~ wt | cyl, >> > > data=mtcars, >> > > col = gear, >> > > pch = carb >> > > ) >> > > >> > > There are unique pch points in the second and third panels, but these >> > > points are only unique within the plots, not among all the plots (as >> they >> > > should be). You can see this if you use the following code: >> > > >> > > xyplot(mpg ~ wt | cyl, >> > > data=mtcars, >> > > groups = carb >> > > ) >> > > >> > > This plot looks great for one group, but if you try to invoke two >> groups >> > > using c(gear, carb) I think it simply takes unique combinations of >> those >> > > two variables and plots them as unique colors. >> > > >> > > Another solution given by a StackExchange user: >> > > >> > > mypch <- 1:6 >> > > mycol <- 1:3 >> > > >> > > xyplot(mpg ~ wt | cyl, >> > > panel = function(x, y, ..., groups, subscripts) { >> > > pch <- mypch[factor(carb[subscripts])] >> > > col <- mycol[factor(gear[subscripts])] >> > > grp <- c(gear,carb) >> > > panel.xyplot(x, y, pch = pch, col = col) >> > > } >> > > ) >> > > >> > > This solution has the same problems as the code at the top. I think >> the >> > > issue causing problems with both solutions is that not every value for >> > each >> > > group is present in each panel, and they are almost never in the same >> > > order. I think R is just interpreting the appearance of unique values >> as >> > a >> > > signal to change to the next pch or color. My actual data file is very >> > > large, and it's not possible to sort my way out of this mess. It >> would be >> > > best if I could just use the value in two columns to actually define a >> > > color or pch for each point on an entire plot. Is there a way to do >> this? >> > > >> > > Ps, I had to post this via email because the Nabble site kept sending >> me >> > an >> > > error message: "Message rejected by filter rule match" >> > > >> > > Thanks, >> > > Matt >> > > >> > > >> > > >> > > *Matthew R. Snyder* >> > > *~~~~~~~~~~~~~~~~~* >> > > PhD Candidate >> > > University Fellow >> > > University of Toledo >> > > Computational biologist, ecologist, and bioinformatician >> > > Sponsored Guest Researcher at NOAA PMEL, Seattle, WA. >> > > matthew.snyd...@rockets.utoledo.edu >> > > msnyder...@gmail.com >> > > >> > > >> > > >> > > [image: Mailtrack] >> > > < >> > >> https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5& >> > > >> > > Sender >> > > notified by >> > > Mailtrack >> > > < >> > >> https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5& >> > > >> > > 04/09/19, >> > > 1:49:27 PM >> > > >> > > [[alternative HTML version deleted]] >> > > >> > > ______________________________________________ >> > > R-help@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. >> > >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@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. >> > [[alternative HTML version deleted]] ______________________________________________ R-help@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.