gpt4 book ai didi

r - 如何在ggplot2中组合排斥标签和阴影或光环文本?

转载 作者:行者123 更新时间:2023-12-03 14:43:13 29 4
gpt4 key购买 nike

有一些很好的解决方案可以用于排斥 ggplot2 中的标签(例如 ggrepel )或标签的阴影文本(例如 ggshadowtextthis answer )。但是没有什么可以让我们将这两个功能结合起来。

我尝试了这种在稍微不同的位置多次打印标签的技巧,但它不适用于 geom_text_repel

library(ggplot2)

# subset data
d <- diamonds[1:20,]

# make plot
p <- ggplot(d, aes(carat, price)) +
geom_point()

# make halo layers
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_repel(data = d,
aes_q(x = bquote(carat + .(cos(i) * xo)),
y = bquote(price + .(sin(i) * yo)),
label = ~cut),
size = 6,
colour = 'black',
seed = 1,
segment.colour = NA)
}

# update plot with halo and interior text
p <- p + geom_text_repel(aes(label = cut),
size = 6,
colour = 'white',
seed = 1,
segment.colour = "grey80")

p

很慢,而且在标签很近的位置,这种方法效果不好:

enter image description here

我们如何获得适用于 geom_text_repel 的阴影文本?我 posted an issue前段时间向ggrepel GitHub repo 提出了这个问题,但一直没有回复(也许这是不可能的?)

最佳答案

此功能现已added到ggrepel包,真是太棒了!

library(ggrepel)
library(ggplot2)

dat <- mtcars
dat$car <- rownames(dat)

ggplot(dat) +
aes(wt,
mpg,
label = car) +
geom_point(colour = "red") +
geom_text_repel(bg.color = "white",
bg.r = 0.25)

enter image description here

关于r - 如何在ggplot2中组合排斥标签和阴影或光环文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56798482/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com