R中带有轮廓线的文本标签

7
我想知道是否有可能在R中绘制带有轮廓的文本,使得文本独立于背景可读(就像meme上的文本)。以下方法(显然)失败了:
# prepare a colorful background
randcolors <- sprintf( "#%02X%02X%02X99", sample(1:255, 1000, replace=T), sample(1:255, 1000,replace=T), sample(1:255, 1000, replace=T))
plot( NULL, xlim=c(0,1), ylim=c(0,1), xaxt="n", bty="n", yaxt="n")
points( runif(1000, 0, 1 ), runif( 1000, 0, 1 ), cex=runif(1000, 0.5, 5), col= randcolors, pch= 19)
text( 0.5, 0.5, "test text", cex= 5 )
text( 0.5, 0.5, "test text", cex= 4.5, col="white" )

结果并不惊人:

enter image description here

显然,我可以先创建一个白色或半透明的背景,但我实际上更喜欢有漂亮的轮廓。

这个链接可能会有帮助:https://dev59.com/PlzUa4cB1Zd3GeqP0CPV - Ruthger Righart
这里有一些关于ggplot的可能性链接 - Henrik
1个回答

8

尝试使用TeachingDemos包中的shadowtext

 shadowtext( 0.5, 0.5, "test text", cex= 4.5, col="white" , r=0.3)

shadow text


shadowtext 函数很有趣,因为它基本上是 OP 的直觉,只是重复了很多次 - Thomas
不完全是这样,OP正在缩放文本大小,但shadowtext使用与主文本相同大小的多个副本。缩放无法在内部孔上创建阴影。 - Spacedman
完美!非常感谢。 - January
ggplot2中是否有类似的函数可用? - ikashnitsky
@Ilya请看问题评论中Henrik提供的链接。 - Spacedman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接