r - 带有 ggplot2 的轮廓文本

标签 r ggplot2

我想知道是否有一种方法可以使用 ggplot2 绘制“轮廓文本”,例如带有白色小边框的黑色文本,以使其在 map 等背景上易于阅读。

理想情况下,我希望获得与您在 Google map 上看到的相同类型的标签:

enter image description here

提前感谢您的任何提示!

最佳答案

这是一种实现 shadowtext 中的一般思想的方法。 TeachingDemos 中的函数包裹。中间部分的代码可以包装成一个函数来简化一些事情。这个例子是从 Richie Cotton 的回答中公然窃取的:

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)

enter image description here

关于r - 带有 ggplot2 的轮廓文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10686054/

相关文章:

linux - 增加 R 允许的连接数

r - 如何打开出现错误的矩阵

R data.table - 将函数 A 应用于某些列,将函数 B 应用于其他某些列

r - pkgdown 插图代码块间距

r - 一个州等值线图中的县

r - ggExtra::ggMarginal() 是否可以有两种不同类型的边际分布?

r - ggplot2 y 轴刻度未显示在对数刻度上

r - 如何获得阶乘(100)的确切值

r - 用 ggplot 填充直方图 - 改变颜色

r - 如何使用任何变换来缩放/变换 graphics::plot() 轴,而不仅仅是对数(对于威 bool 图)?