根据列变量向ggplot2点添加标签
adding labels to ggplot2 point based on column variables
我正在尝试根据另一列变量向我的散点图添加标签。
ggplot(differentrace, aes(x=DifferentRace, y=Parents)) + geom_point() + geom_text(label=rownames(differentrace))
我的table是
Parents Different Race
1 1 UK born 2.32
2 Both UK born 2.58
3 Neither 2.24
Output
这是我的输出,而不是 1、2、3 标签,我希望这些标签是 1 个英国出生、两个英国出生或都不是。另外我想稍微偏移标签以不阻碍数据点。
谢谢
R 不会将您的 Parents
列视为行名。相反,它只是另一列!所以这是代码:ggplot(differentrace, aes(x=DifferentRace, y=Parents)) + geom_point() + ggrepel::geom_text_repel(aes(label = Parents))
。我使用 ggrepel::geom_text_repel
将文本标签从点移开。
此外,您必须将 label = Parents
包装在 aes()
调用中,因为您希望每个点都用来自同一数据帧的相应 Parent
进行标记;如果你不使用 aes()
,R 不知道 Parent
指的是什么。
我不是 100% 确定你想做什么。所以,我交换了 x 和 y 轴,将 x 轴作为一个因子并使用 nudge_y
来调整文本。作为文本,使用变量 Parents
中的值。
library(ggplot2)
differentrace <- read.table(text =
"
Parents DifferentRace
'1 UK born' 2.32
'Both UK born' 2.58
'Neither' 2.24
", header=T)
ggplot(differentrace, aes(x=factor(Parents), y=DifferentRace,
label = Parents)) +
geom_point() +
geom_text(nudge_y = .05) +
labs(x = '', y ='Different Race')
我正在尝试根据另一列变量向我的散点图添加标签。
ggplot(differentrace, aes(x=DifferentRace, y=Parents)) + geom_point() + geom_text(label=rownames(differentrace))
我的table是
Parents Different Race
1 1 UK born 2.32
2 Both UK born 2.58
3 Neither 2.24
Output
这是我的输出,而不是 1、2、3 标签,我希望这些标签是 1 个英国出生、两个英国出生或都不是。另外我想稍微偏移标签以不阻碍数据点。
谢谢
R 不会将您的 Parents
列视为行名。相反,它只是另一列!所以这是代码:ggplot(differentrace, aes(x=DifferentRace, y=Parents)) + geom_point() + ggrepel::geom_text_repel(aes(label = Parents))
。我使用 ggrepel::geom_text_repel
将文本标签从点移开。
此外,您必须将 label = Parents
包装在 aes()
调用中,因为您希望每个点都用来自同一数据帧的相应 Parent
进行标记;如果你不使用 aes()
,R 不知道 Parent
指的是什么。
我不是 100% 确定你想做什么。所以,我交换了 x 和 y 轴,将 x 轴作为一个因子并使用 nudge_y
来调整文本。作为文本,使用变量 Parents
中的值。
library(ggplot2)
differentrace <- read.table(text =
"
Parents DifferentRace
'1 UK born' 2.32
'Both UK born' 2.58
'Neither' 2.24
", header=T)
ggplot(differentrace, aes(x=factor(Parents), y=DifferentRace,
label = Parents)) +
geom_point() +
geom_text(nudge_y = .05) +
labs(x = '', y ='Different Race')