gpt4 book ai didi

r - 使用ggrepel对齐标签

转载 作者:行者123 更新时间:2023-12-04 13:30:39 24 4
gpt4 key购买 nike

根据最近的更新,ggrepel现在支持 hjustvjust .根据documentation ,使用它应该对齐所有标签。但是,我无法让标签对齐,如下所示

enter image description here

我试过了

library(tidyverse)
library(ggrepel)

df <- data.frame(x=seq(1:5), y=seq(1:5), label=letters[seq(1:5)])

ggplot(df, aes(x=x, y=y)) +
geom_point() +
geom_text_repel(aes(label=label),
force=1, point.padding=unit(1,'lines'),
hjust=0,
direction='y',
nudge_x=0.1,
segment.size=0.2) +
geom_smooth(method='lm')

如何对齐这些标签?

编辑

我应该补充一点,它不仅仅是让标签对齐,而且让它们彼此靠近,使用不同长度的连接器以促进这一点。

最佳答案

首先,据我所知,这仅在开发版本中可用。所以你需要从github安装它:

devtools::install_github("slowkow/ggrepel")

其次,我认为这仅适用于具有相同 x 值(对于 hjust )或 y 值(对于 vjust )的数据点。

例子:
library(tidyverse)
library(ggrepel)

df <- data.frame(x=seq(1:5), y=3, label=letters[seq(1:5)])

# not aligned
ggplot(df, aes(x=x, y=y)) +
geom_point() +
geom_text_repel(aes(label=label),
force=1, point.padding=unit(1,'lines'),
# vjust=0,
direction='y',
nudge_x=0.1,
segment.size=0.2) +
geom_smooth(method='lm')

enter image description here
# aligned bottom
ggplot(df, aes(x=x, y=y)) +
geom_point() +
geom_text_repel(aes(label=label),
force=1, point.padding=unit(1,'lines'),
vjust=0,
direction='y',
nudge_x=0.1,
segment.size=0.2) +
geom_smooth(method='lm')

enter image description here
# aligned top
ggplot(df, aes(x=x, y=y)) +
geom_point() +
geom_text_repel(aes(label=label),
force=1, point.padding=unit(1,'lines'),
vjust=1,
direction='y',
nudge_x=0.1,
segment.size=0.2) +
geom_smooth(method='lm')

enter image description here

关于r - 使用ggrepel对齐标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47492191/

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