R 螺旋包装文本

R 螺旋包装文本,r,plot,R,Plot,我看到了,如下图所示。我想在R中复制这一点 我认为plotrix的arctext可以做到这一点,但如果有足够的文本,它似乎会形成一个圆圈,如下图(左)所示。我可以画出图中所示的上进线(右),但不能合并文本和螺旋线 代码 txt不完美,但 txt <- paste(rep("bendy like spaghetti", 10), collapse=" ") txt2 <- paste(rep("bendy like spaghetti", 20), collapse=" ") tt

我看到了,如下图所示。我想在R中复制这一点

我认为plotrix的
arctext
可以做到这一点,但如果有足够的文本,它似乎会形成一个圆圈,如下图(左)所示。我可以画出图中所示的上进线(右),但不能合并文本和螺旋线

代码
txt不完美,但

txt <- paste(rep("bendy like spaghetti", 10), collapse=" ")
txt2 <- paste(rep("bendy like spaghetti", 20), collapse=" ")
tt <- strsplit(txt, '')[[1]]

xx <- 5
par(mfrow = c(1,2), mar = c(0,0,0,0))
plot(-xx:xx, -xx:xx, type = 'n', axes = FALSE, ann = FALSE)

## option 1
r <- rev(seq(0, xx, length.out = length(tt)))
x <- sqrt(r) * cos(2 * pi * r)
y <- sqrt(r) * sin(2 * pi * r)
text(x, y, tt)

## option 2
plot(-xx:xx, -xx:xx, type = 'n', axes = FALSE, ann = FALSE)
srt <- atan2(y, x) * 180 / pi
for (ii in seq_along(tt))
  text(x[ii], y[ii], tt[ii], srt = srt[ii] - 90)

“卡尔·维特霍夫的会有用吗?”亨里克,我会去探索有希望的东西。我忘了。
txt <- paste(rep("bendy like spaghetti", 10), collapse=" ")
txt2 <- paste(rep("bendy like spaghetti", 20), collapse=" ")
tt <- strsplit(txt, '')[[1]]

xx <- 5
par(mfrow = c(1,2), mar = c(0,0,0,0))
plot(-xx:xx, -xx:xx, type = 'n', axes = FALSE, ann = FALSE)

## option 1
r <- rev(seq(0, xx, length.out = length(tt)))
x <- sqrt(r) * cos(2 * pi * r)
y <- sqrt(r) * sin(2 * pi * r)
text(x, y, tt)

## option 2
plot(-xx:xx, -xx:xx, type = 'n', axes = FALSE, ann = FALSE)
srt <- atan2(y, x) * 180 / pi
for (ii in seq_along(tt))
  text(x[ii], y[ii], tt[ii], srt = srt[ii] - 90)
dd <- data.frame(x, y, srt = srt - 90, tt)
library('ggplot2')
ggplot(dd, aes(x, y)) + geom_text(label = dd$tt, size = 5)
ggplot(dd, aes(x, y)) + geom_text(label = dd$tt, size = 5, angle = dd$srt)