Here is an approach that implements the general idea from the shadowtext
function in the TeachingDemos
package. The code for the middle part could be wrapped into a function to simplify some things. The example is blatantly stolen from Richie Cotton's answer:
d <- diamonds[sample(nrow(diamonds), 10), ]
p <- ggplot(d, aes(carat, price) )
theta <- seq(pi/8, 2*pi, length.out=16)
xo <- diff(range(d$carat))/200
yo <- diff(range(d$price))/200
for(i in theta) {
p <- p + geom_text(
bquote(aes(x=carat+.(cos(i)*xo),y=price+.(sin(i)*yo),label=cut)),
size=12, colour='black' )
}
p <- p + geom_text( aes(label=cut), size=12, colour='white' )
p <- p + opts( panel.background=theme_rect(fill='green' ) )
print(p)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…