Я пытаюсь добавить переменные в ggplots, и по какой-то причине он помещает один из моих ярлыков (l2) в неправильное место, вместо того, чтобы находиться на линии (l2), он заканчивается в конце.
Вот мой ggplot.
ggplot(hhcomp, aes(x=utility, y=consumption))+
coord_cartesian(xlim = c(0, 16) )+
ylim(0,20)+
labs(x = "leisure(hours)",y="counsumption(units)")+
geom_line(aes(x = leisure, y = consumption,expand=TRUE))+
geom_line(aes(x = utilityc, y = consumption))+
geom_text(aes(14,5.5,label = u, hjust = 0))+
geom_line(aes(x = leisure1, y = consumption1))+
geom_line(aes(x = utilityc1, y = consumption))+
geom_text(aes(14,7,label = u1, hjust = 0))+
geom_point(aes(x=o,y=10))+ #values of x and y of tangent point
geom_text(aes(o,6,label = o, hjust = -1))+
geom_point(aes(x=o1,y=12))+ #values of x and y of tangent point
geom_text(aes(o1,2,label = o1, hjust = -1))+
geom_point(aes(x=o2,y=10.9))+ #values of x and y of tangent point
geom_text(aes(o2,4.5,label = o2, hjust = -1))+
geom_vline(aes(xintercept = o),linetype = "dotted")+ #x of tangent point
geom_vline(aes(xintercept = o2),linetype = "dotted")+ #x of tangent point
geom_vline(aes(xintercept = o1),linetype = "dotted")+ #x of tangent point
geom_text(aes(o,10,label = "O", hjust = -1))+
geom_text(aes(o1,12,label = "O1", hjust = -1))+
geom_text(aes(o2,10.875,label = "O2", hjust = 1))
Вы можете видеть из предоставленного изображения, что значение l2 не находится в строке l1, (Кстати, мне также могут быть интересны способы добавить имя линии, с geom_text), но вместо этого путь вправо. Я не уверен, что он читает другое значение или что здесь не так.
![ggplot, with label 7.3... in the wrong location](https://i.stack.imgur.com/ITfFV.png)
Может ли это быть из-за того, как я пытался округлить фрейм данных до 2 десятичных знаков?
l <- function(x){sqrt(max(utilityf(x))/((w)))}
o <- data.frame("o"=l(c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20)),digits=2)
l1 <- function(x){sqrt(max(utilityf1(x))/((w1)))}
o1 <- data.frame("o1"=l1(c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20)),digits=2)
l2 <- function(x){sqrt(max(utilityf(x))/((w1)))}
o2 <- data.frame("o2"=l2(c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20)),digits=2)
Как лучше всего округлять значения во фрейме данных и отправлять их в ggplots? Любая помощь будет полезна.
Я не уверен, какую еще информацию добавить, возможно, я мог бы добавить другие переменные в другой пост. Как я уже говорил, важнее всего то, почему переменная находится не в том месте, и как правильно округлить переменную в r data.frame.