gpt4 book ai didi

r - 沿离散尺度调整几何位置

转载 作者:行者123 更新时间:2023-12-05 03:14:15 26 4
gpt4 key购买 nike

我正在尝试将文本注释定位在同时具有小平面和离散轴的绘图上。我可以使用 aes() 将注释的位置与点联系起来,但我想稍微调整一下以保持点的可读性。如果微调是在数字范围内,这很好:

data <- data.frame(
category = c("blue", "yellow", "red", "green"),
rating = 1:4)

gp <- ggplot(data) + geom_point(aes(x = category, y = rating)) +
geom_text(aes(label = "I have a label!", x = category, y = rating + 0.5))

但如果我尝试在非数字尺度(在本例中为字符)上进行操作,则会失败:

gp <- ggplot(data) + geom_point(aes(x = category, y = rating)) +
geom_text(aes(label = "I have a label!", x = category + 0.5, y = rating))
gp

Error in unit(x, default.units) : 'x' and 'units' must have length > 0
In addition: Warning messages:
1: In Ops.factor(category, 0.5) : + not meaningful for factors
2: Removed 4 rows containing missing values (geom_text).

我可以使用 hjustvjust 来稍微移动它们,但由于它们旨在对齐文本而不是定位文本,因此它们并没有真正移动注释即使在最大范围内也足够远。有没有一种方法可以确定将离散变量映射到的数字比例,或者有其他方法可以手动调整 geom_text 的位置?

最佳答案

您可以使用 hjust(或 vjust)来定位文本:

ggplot(data) + geom_point(aes(x = category, y = rating)) + 
geom_text(aes(label = "I have a label!", x = category, y = rating), hjust=-.1)

关于r - 沿离散尺度调整几何位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25986493/

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