[R-br] Texto na margem do ggplot

Pedro Emmanuel Alvarenga Americano do Brasil emmanuel.brasil em gmail.com
Qui Fev 3 15:19:03 -03 2022


Deisy,

COnsegui... ficou assim...

x %<>%
  mutate(Visita_num = as.numeric(as.factor(Visita)))
y <- x %>%
  ggplot() +
  aes(x = Visita_num,
      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_continuous(sec.axis = dup_axis(
  name = "Reforço",
  labels = NULL,
  breaks = NULL)) +
  scale_x_continuous(breaks = seq(1,max(y$data$Visita_num,1)),
                     labels = paste0("Visita ",unique(y$data$Visita_num)),
                     sec.axis = dup_axis(
    name = "Esquema Inicial",
    labels = NULL,
    breaks = NULL))

Pedro Brasil


Em qui., 3 de fev. de 2022 às 14:41, Pedro Emmanuel Alvarenga Americano do
Brasil <emmanuel.brasil em gmail.com> escreveu:

> 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/207cf429/attachment.htm>


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