[R-br] Texto na margem do ggplot

Pedro Emmanuel Alvarenga Americano do Brasil emmanuel.brasil em gmail.com
Qui Fev 3 14:41:56 -03 2022


Ei Deisy,

Quase isso. Bem perto. A questão agora com o que voce mandou e com o que eu
tentei é que os ticks e os valores do eixo nao estão na posição original.

y <- x %>%
  ggplot() +
  aes(x = Visita,
      y = Titulos,
      group = id)+
  geom_line(colour = "lightgreen",
            show.legend = FALSE) +
  geom_smooth(aes(group = 1),
              method = lm,
              colour = "red",
              na.rm = TRUE) +
  facet_grid(rows = vars(Inicial),
             cols = vars(Reforço))+
  theme_light() +
  labs(y = "Titulos de anticorpos",
       x = "Visitas de seguimento")

y + scale_y_discrete(, position = "right") +
    scale_x_discrete("Esquema inicial", position = "top")
# Talvez se conseguisse duplicar o eixo aqui,  funcionaria mas não estou
sabendo como.

Pedro Brasil


Em qui., 3 de fev. de 2022 às 13:00, Deisy Gysi por (R-br) <
r-br em listas.c3sl.ufpr.br> escreveu:

> Nao tenho certeza se entendi exatamente o que vc quer fazer...
> Mas para colocar os titulos nas margens vc pode criar novos eixos (x e y).
>
> att,
> d
>
> require(ggplot2)
> require(magrittr)
> require(dplyr)
>
> x <- rbind(
>   data.frame(id = 1:20,
>              Visita = "Visita 1",
>              Inicial = "Vacina 1",
>              Reforço = "Vacina 1",
>              Titulos =  rnorm(20, 20, 5)),
>   data.frame(id = 1:20,
>              Visita = "Visita 2",
>              Inicial = "Vacina 1",
>              Reforço = "Vacina 1",
>              Titulos =  rnorm(20, 30, 5)),
>   #
>   data.frame(id = 21:40,
>              Visita = "Visita 1",
>              Inicial = "Vacina 2",
>              Reforço = "Vacina 1",
>              Titulos =  rnorm(20, 40, 5)),
>   data.frame(id = 21:40,
>              Visita = "Visita 2",
>              Inicial = "Vacina 2",
>              Reforço = "Vacina 1",
>              Titulos =  rnorm(20, 50, 5)),
>   #
>   data.frame(id = 41:60,
>              Visita = "Visita 1",
>              Inicial = "Vacina 1",
>              Reforço = "Vacina 2",
>              Titulos =  rnorm(20, 15, 5)),
>   data.frame(id = 41:60,
>              Visita = "Visita 2",
>              Inicial = "Vacina 1",
>              Reforço = "Vacina 2",
>              Titulos =  rnorm(20, 30, 5)),
>   #
>   data.frame(id = 61:80,
>              Visita = "Visita 1",
>              Inicial = "Vacina 2",
>              Reforço = "Vacina 2",
>              Titulos =  rnorm(20, 15, 5)),
>   data.frame(id = 61:80,
>              Visita = "Visita 2",
>              Inicial = "Vacina 2",
>              Reforço = "Vacina 2",
>              Titulos =  rnorm(60, 30, 5)))
> head(x)
> # Fazendo o grafico...
> x %<>%
>   mutate(Visita_cat = as.numeric(as.factor(Visita)))
> x %>%
>   ggplot() +
>   aes(x = Visita_cat,
>       y = Titulos,
>       group = id)+
>   geom_line(colour = "lightgreen",
>             show.legend = FALSE) +
>   geom_smooth(aes(group = 1),
>               method = lm,
>               colour = "red",
>               na.rm = TRUE) +
>   facet_grid(rows = vars(Inicial),
>              cols = vars(Reforço))+
>   scale_y_continuous(sec.axis = dup_axis(name = "Reforço")) +
>   scale_x_continuous(sec.axis = dup_axis(name = "Esquema inicial")) +
>   theme_light() +
>   theme(axis.title.x.top = element_text())+
>   labs(y = "Titulos de anticorpos",
>        x = "Visitas de seguimento")
>
>
> plot(as.numeric(x$Visita_cat), x$Titulos, type = "l")
> mtext("Esquema inicial", side = 3)
> mtext("Reforço", side = 4)
>
>
> Deisy Morselli Gysi, PhD
>
> Associate Research Scientist
> Center for Complex Networks Research - BarabasiLab
> <https://www.barabasilab.com/>
> Northeastern University, Boston, Massachusetts
> Pronouns: She/Her/Hers
> deisy.ccnr em gmail.com
> https://deisygysi.github.io/
>
> The flower that blooms in adversity is the most rare and beautiful of all.
> Mulan (Disney)
>
> Email Etiquette: Just because I e-mail at odd hours does not mean I expect
> you to.
>
>
> On Thu, 3 Feb 2022 at 08:04, Pedro Emmanuel Alvarenga Americano do Brasil
> por (R-br) <r-br em listas.c3sl.ufpr.br> wrote:
>
>> Amigos de R,
>>
>> Saudações a todos. Gostaria de colocar um texto nas margens superior e
>> direita do gráfico de tal forma que eu consiga diferenciar duas variáveis
>> que têm as mesmas categorias. No graphics seria equivalente a função
>> mtext(). Por exemplo...
>> plot(bla bla bla)
>> mtext("Esquema inicial", side = 3)
>> mtext("Reforço", side = 4)
>>
>> Mas no ggplot não estou sabendo fazer. Alguma luz?
>> # Simulando os dados
>> x <- rbind(
>> data.frame(id = 1:20,
>>            Visita = "Visita 1",
>>            Inicial = "Vacina 1",
>>            Reforço = "Vacina 1",
>>            Titulos =  rnorm(20, 20, 5)),
>> data.frame(id = 1:20,
>>            Visita = "Visita 2",
>>            Inicial = "Vacina 1",
>>            Reforço = "Vacina 1",
>>            Titulos =  rnorm(20, 30, 5)),
>> #
>> data.frame(id = 21:40,
>>            Visita = "Visita 1",
>>            Inicial = "Vacina 2",
>>            Reforço = "Vacina 1",
>>            Titulos =  rnorm(20, 40, 5)),
>> data.frame(id = 21:40,
>>            Visita = "Visita 2",
>>            Inicial = "Vacina 2",
>>            Reforço = "Vacina 1",
>>            Titulos =  rnorm(20, 50, 5)),
>> #
>> data.frame(id = 41:60,
>>            Visita = "Visita 1",
>>            Inicial = "Vacina 1",
>>            Reforço = "Vacina 2",
>>            Titulos =  rnorm(20, 15, 5)),
>> data.frame(id = 41:60,
>>            Visita = "Visita 2",
>>            Inicial = "Vacina 1",
>>            Reforço = "Vacina 2",
>>            Titulos =  rnorm(20, 30, 5)),
>> #
>> data.frame(id = 61:80,
>>            Visita = "Visita 1",
>>            Inicial = "Vacina 2",
>>            Reforço = "Vacina 2",
>>            Titulos =  rnorm(20, 15, 5)),
>> data.frame(id = 61:80,
>>            Visita = "Visita 2",
>>            Inicial = "Vacina 2",
>>            Reforço = "Vacina 2",
>>            Titulos =  rnorm(60, 30, 5)))
>> head(x)
>> # Fazendo o grafico...
>> ggplot(x,
>>        aes(x = Visita,
>>            y = Titulos,
>>            group = id)) +
>>   geom_line(colour = "lightgreen",
>>             show.legend = FALSE) +
>>   geom_smooth(aes(group = 1),
>>               method = lm,
>>               colour = "red",
>>               na.rm = TRUE) +
>>   facet_grid(rows = vars(Inicial),
>>              cols = vars(Reforço))+
>>   theme_light() +
>>   ylab("Titulos de anticorpos") +
>>   xlab("Visitas de seguimento")
>>
>> Abraços fraternos,
>>
>> Pedro Brasil
>> _______________________________________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>> código mínimo reproduzível.
>>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20220203/683e19a4/attachment.htm>


Mais detalhes sobre a lista de discussão R-br