Округление data.frames и значения ggplot в неправильном месте - PullRequest
0 голосов
/ 22 февраля 2020

Я пытаюсь добавить переменные в 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

Может ли это быть из-за того, как я пытался округлить фрейм данных до 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...