[R] latex, eps graphics and transparent colors
Michael Friendly
friendly at yorku.ca
Wed Apr 13 19:30:17 CEST 2011
I have a diagram to be included in latex, where all my figures are .eps
graphics (so pdflatex is not an
option) and I want to achieve something
like the following: three concentric filled circles varying in lightness
or saturation. It is easiest to do this using
transparency, but in my test using the postscript driver, the
transparent color fills do not appear. Is it
correct that postscript() does not support transparency?
circle <-function (radius = 1, segments=61) {
angles <- (0:segments)*2*pi/segments
radius * cbind( cos(angles), sin(angles))
}
plot(1:5, 1:5, type='n', xlim=c(-1,5), ylim=c(-1,5), xlab='', ylab='',
asp=1, xaxt="n", yaxt="n")
#clrs <- trans.colors("lightblue", alpha=c(.2, .4, .6)) ## from heplots
package
clrs <- c("#ADD8E633", "#ADD8E666", "#ADD8E699")
c1 <- circle(3)
polygon( c1, col=clrs[1], border="lightblue")
polygon(.67*c1, col=clrs[2], border="lightblue")
polygon(.33*c1, col=clrs[3], border="lightblue")
arrows(-1, 0, 5, 0, angle=10, length=.2, lwd=2, col="darkgray")
arrows( 0, -1, 0, 5, angle=10, length=.2, lwd=2, col="darkgray")
One alternative that sort of works is to use the png() driver, and then
convert fig.png fig.eps
but I need very high resolution to make the real diagram legible.
It might suffice to use hcl() colors to approximate what I've done with
transparency,
but I don't know how to start with a given color ("lightblue") and
achieve roughly
similar resuts.
--
Michael Friendly Email: friendly AT yorku DOT ca
Professor, Psychology Dept.
York University Voice: 416 736-5115 x66249 Fax: 416 736-5814
4700 Keele Street Web: http://www.datavis.ca
Toronto, ONT M3J 1P3 CANADA
More information about the R-help
mailing list