在 ggplot/R 中使用位置参数排斥文本
Text repel with a position argument in ggplot/R
我正在尝试制作一个 geom_point,其中文本标签既排斥又指向它们的关联点,即使我使用的是 position=dodge 或 position=jitter。我也有很多要标记的点,这就是为什么我想使用 ggrepel 或类似的东西。我的理解是我不能为 ggrepel 使用位置参数。
有什么方法可以得到这样的图,除了线段指向它们的关联点吗?
require(ggplot2)
require(ggrepel)
data("mtcars")
mtcars$cyl <- as.factor(mtcars$cyl)
mtcars$am <- as.factor(mtcars$am)
require(ggplot2)
require(ggrepel)
dodge = position_dodge(1)
ggplot(mtcars, aes(x = am, y=mpg)) +
geom_point(size=3, position=dodge, alpha=0.5, aes(color=cyl)) +
geom_text_repel(data = mtcars,
aes(label = mpg, x=am, y=mpg), alpha=0.9, size=4,
segment.size = .25, segment.alpha = .8, force = 1)
今天,我更新了 ggrepel 以支持版本 0.7.3 中的 position
选项。
请试一试,告诉我进展如何。
如果您有问题,请在此处报告:https://github.com/slowkow/ggrepel/issues
安装 ggrepel 0.7.3 版:
devtools::install_github("slowkow/ggrepel")
让我们试试看:
require(ggplot2)
require(ggrepel)
data("mtcars")
mtcars$cyl <- as.factor(mtcars$cyl)
mtcars$am <- as.factor(mtcars$am)
dodge <- position_dodge(1)
ggplot(mtcars, aes(x = am, y = mpg, label = mpg)) +
geom_point(
mapping = aes(color = cyl),
position = dodge,
size = 3,
alpha = 0.5
) +
geom_text_repel(
mapping = aes(group = cyl),
position = dodge,
size = 4,
alpha = 0.9,
segment.size = .25,
segment.alpha = .8,
force = 1
)
我正在尝试制作一个 geom_point,其中文本标签既排斥又指向它们的关联点,即使我使用的是 position=dodge 或 position=jitter。我也有很多要标记的点,这就是为什么我想使用 ggrepel 或类似的东西。我的理解是我不能为 ggrepel 使用位置参数。
有什么方法可以得到这样的图,除了线段指向它们的关联点吗?
require(ggplot2)
require(ggrepel)
data("mtcars")
mtcars$cyl <- as.factor(mtcars$cyl)
mtcars$am <- as.factor(mtcars$am)
require(ggplot2)
require(ggrepel)
dodge = position_dodge(1)
ggplot(mtcars, aes(x = am, y=mpg)) +
geom_point(size=3, position=dodge, alpha=0.5, aes(color=cyl)) +
geom_text_repel(data = mtcars,
aes(label = mpg, x=am, y=mpg), alpha=0.9, size=4,
segment.size = .25, segment.alpha = .8, force = 1)
今天,我更新了 ggrepel 以支持版本 0.7.3 中的 position
选项。
请试一试,告诉我进展如何。
如果您有问题,请在此处报告:https://github.com/slowkow/ggrepel/issues
安装 ggrepel 0.7.3 版:
devtools::install_github("slowkow/ggrepel")
让我们试试看:
require(ggplot2)
require(ggrepel)
data("mtcars")
mtcars$cyl <- as.factor(mtcars$cyl)
mtcars$am <- as.factor(mtcars$am)
dodge <- position_dodge(1)
ggplot(mtcars, aes(x = am, y = mpg, label = mpg)) +
geom_point(
mapping = aes(color = cyl),
position = dodge,
size = 3,
alpha = 0.5
) +
geom_text_repel(
mapping = aes(group = cyl),
position = dodge,
size = 4,
alpha = 0.9,
segment.size = .25,
segment.alpha = .8,
force = 1
)