I'm trying to create figures in PDF that use the 'gray' colormodel instead of the default 'RGB' model, by requirements of a publisher. My problem has to do with the fact that I'm not being able to get gray colors with this option on the pdf() driver. Here is a small example for problem replication: > R.version _ platform i486-pc-linux-gnu arch i486 os linux-gnu system i486, linux-gnu status major 2 minor 8.1 year 2008 month 12 day 22 svn rev 47281 language R version.string R version 2.8.1 (2008-12-22) > pdf('exp.pdf',colormodel='gray') > barplot(table(subset(iris,Petal.Width>1)$Species)) > dev.off() Contrary to what I was expecting the bars appear in black and not gray as they are supposed to. This is not particularly serious for this toy graph but for others it creates more problems. Interesting enough this problem does not occur with the same option on the postscript() driver as it can be observed by running: > postscript('exp.eps',colormodel='gray') > barplot(table(subset(iris,Petal.Width>1)$Species)) > dev.off() Any help is most appreciated. Luis Torgo -- Luis Torgo FEP/LIAAD - INESC Porto, LA Phone : (+351) 22 339 20 93 University of Porto Fax : (+351) 22 339 20 99 R. de Ceuta, 118, 6o email : ltorgo at liaad.up.pt 4050-190 PORTO - PORTUGAL WWW : http://www.liaad.up.pt/~ltorgo
Try changing the color to "grey". Despite the help pages saying this: colormodel a character string describing the color model: currently allowed values are "rgb", "gray" and "cmyk". Defaults to "rgb". I got the expected behavior by making the "gray" -> "grey" change on my Mac OS 10.5.6/R2.8.1 system. -- David Winsemius On Jan 23, 2009, at 7:21 PM, Luis Torgo wrote:> I'm trying to create figures in PDF that use the 'gray' colormodel > instead of the default 'RGB' model, by requirements of a publisher. > > My problem has to do with the fact that I'm not being able to get > gray colors with this option on the pdf() driver. Here is a small > example for problem replication: > > > R.version > _ platform i486-pc-linux- > gnu arch i486 > os linux-gnu system i486, linux- > gnu status > major 2 minor > 8.1 year 2008 > month 12 day > 22 svn rev 47281 > language R version.string R version > 2.8.1 (2008-12-22) > > > pdf('exp.pdf',colormodel='gray') > > barplot(table(subset(iris,Petal.Width>1)$Species)) > > dev.off() > > Contrary to what I was expecting the bars appear in black and not > gray as they are supposed to. This is not particularly serious for > this toy graph but for others it creates more problems. > > Interesting enough this problem does not occur with the same option > on the postscript() driver as it can be observed by running: > > postscript('exp.eps',colormodel='gray') > > barplot(table(subset(iris,Petal.Width>1)$Species)) > > dev.off() > > Any help is most appreciated. > > Luis Torgo > > -- > Luis Torgo > FEP/LIAAD - INESC Porto, LA Phone : (+351) 22 339 20 93 > University of Porto Fax : (+351) 22 339 20 99 > R. de Ceuta, 118, 6o email : ltorgo at liaad.up.pt > 4050-190 PORTO - PORTUGAL WWW : http://www.liaad.up.pt/~ltorgo > > ______________________________________________ > 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.
You may want to consider a dotchart instead of a barplot. Then you can distinguish between groups by using symbols, grouping, and labels rather than depending on colors/shades of grey. -- Gregory (Greg) L. Snow Ph.D. Statistical Data Center Intermountain Healthcare greg.snow at imail.org 801.408.8111> -----Original Message----- > From: r-help-bounces at r-project.org [mailto:r-help-bounces at r- > project.org] On Behalf Of Luis Torgo > Sent: Friday, January 23, 2009 5:22 PM > To: r-help at r-project.org > Subject: [R] Problem with colormodel in pdf driver > > I'm trying to create figures in PDF that use the 'gray' colormodel > instead of the default 'RGB' model, by requirements of a publisher. > > My problem has to do with the fact that I'm not being able to get gray > colors with this option on the pdf() driver. Here is a small example > for > problem replication: > > > R.version > _ > platform i486-pc-linux-gnu > arch i486 > os linux-gnu > system i486, linux-gnu > status > major 2 > minor 8.1 > year 2008 > month 12 > day 22 > svn rev 47281 > language R > version.string R version 2.8.1 (2008-12-22) > > > pdf('exp.pdf',colormodel='gray') > > barplot(table(subset(iris,Petal.Width>1)$Species)) > > dev.off() > > Contrary to what I was expecting the bars appear in black and not gray > as they are supposed to. This is not particularly serious for this toy > graph but for others it creates more problems. > > Interesting enough this problem does not occur with the same option on > the postscript() driver as it can be observed by running: > > postscript('exp.eps',colormodel='gray') > > barplot(table(subset(iris,Petal.Width>1)$Species)) > > dev.off() > > Any help is most appreciated. > > Luis Torgo > > -- > Luis Torgo > FEP/LIAAD - INESC Porto, LA Phone : (+351) 22 339 20 93 > University of Porto Fax : (+351) 22 339 20 99 > R. de Ceuta, 118, 6o email : ltorgo at liaad.up.pt > 4050-190 PORTO - PORTUGAL WWW : http://www.liaad.up.pt/~ltorgo > > ______________________________________________ > 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.
Greg Snow wrote:> You may want to consider a dotchart instead of a barplot. Then you can distinguish between groups by using symbols, grouping, and labels rather than depending on colors/shades of grey. > >Thanks Greg. The only problem is that I was trying to illustrate the use of barplot() ... I guess for now I can always use the pdf() driver with the default RGB colormodel and then use command line tools (e.g. ImageMagick) to convert the resulting graphs to grayscale... Thanks all for the help. Luis -- Luis Torgo FEP/LIAAD - INESC Porto, LA Phone : (+351) 22 339 20 93 University of Porto Fax : (+351) 22 339 20 99 R. de Ceuta, 118, 6o email : ltorgo at liaad.up.pt 4050-190 PORTO - PORTUGAL WWW : http://www.liaad.up.pt/~ltorgo