Aprimore suas visualizações de dados do {ggplot2} com {ggtext}

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


[Esteartigofoipublicadopelaprimeiravezem[Thisarticlewasfirstpublishedon R na aventura de Thomas, e gentilmente contribuiu para os R-blogueiros]. (Você pode relatar um problema sobre o conteúdo desta página aqui)


Deseja compartilhar seu conteúdo com R-blogueiros? clique aqui se você tiver um blog ou aqui se não tiver.

É super empolgante compartilhar com vocês minha recente “descoberta” do {ggtext} R pacote.

Eu tinha procurado uma solução para colorir palavras individuais no título de {ggplot2} visualização de dados e {ggtext} me forneceu uma ótima solução para fazer exatamente isso (e muito mais).

Então, como isso funciona? Veja este exemplo:

library(ggplot2)
library(dplyr)
data(biomedicalrevenue, package = "ggcharts")

plot  biomedicalrevenue %>%
  filter(company %in% c("Roche", "Novartis")) %>%
  ggplot(aes(year, revenue, color = company)) +
  geom_line(size = 1.2) +
  ggtitle(
    paste0(
      "**Roche**",
      " *overtook* **Novartis**",
      " in 2016"
    )
  ) +
  scale_color_manual(
    values = c("Roche" = "#93C1DE", "Novartis" = "darkorange"),
    guide = "none"
  ) +
  ggcharts::theme_hermit(ticks = "x", grid = "X")  +
  theme(plot.title = ggtext::element_markdown())
plot

Dentro theme() eu coloco plot.title = ggtext::element_markdown(). Isso tem o efeito de que o título da trama que criei usando ggtitle() é interpretado como remarcação / HTML. Isso possibilitou que o título da trama agisse como uma legenda, colorindo as palavras-chave apropriadas.

Para colorir as palavras, você precisa envolvê-las em um identifique e use CSS embutido para especificar a cor. Em geral, será assim:

span style = 'color:color name or hex code'>Text you want to colorspan>

Preste atenção na barra no segundo tag. Se você errar, a renderização não será adequada porque é HTML inválido.

Observe também que dentro de scale_color_manual() eu coloco guide = "none". Isso resulta em nenhuma legenda sendo desenhada que seria redundante neste gráfico.

Leia Também  Validação cruzada de modelo linear, xgboost e randomForest usando crossval :: crossval_ml

Uma solução bastante elegante, não é?

Embora seja necessário reverter para HTML para colorir o texto, você pode usar a remarcação para tornar as palavras individuais em negrito (por exemplo, **Roche**), itálico (por exemplo, *overtook*) e assim por diante. Adoro a flexibilidade que isso oferece.

o {ggtext} O pacote ainda não está disponível no CRAN, mas você pode instalá-lo no GitHub.

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
remotes::install_github("wilkelab/ggtext")

Definir elementos de tema individuais como ggtext::element_markdown() pode adicionar um pouco de código padrão à sua plotagem. Por isso, decidi criar o {mdthemes} pacote que fornece temas que interpretam o texto como descontos automaticamente. Vamos contrastar um tema “normal” com um md_theme. Primeiro, veja o que acontece se eu adicionar theme_minimal() para o enredo que acabei de criar.

Como esperado, o título não é renderizado corretamente porque o plot.title O elemento do tema é substituído. Se você usar md_theme_minimal(), no entanto, apenas funciona.

plot + mdthemes::md_theme_minimal()

Além do título, as legendas, os rótulos dos eixos e as legendas são definidos como element_markdown() para todos mdthemes.

plot +
  labs(
    x = "**Year**",
    y = "Revenue (*Billion* USD)",
    caption = "Data Source: *en.wikipedia.org/wiki/List_of_largest_biomedical_companies_by_revenue*"
  ) +
  mdthemes::md_theme_minimal()

o {mdthemes} pacotes atualmente contém todos os temas de {ggplot2}, {ggthemes}, {hrbrthemes}, {tvthemes} e {cowplot} com suporte para renderizar texto como remarcação.

Se você deseja transformar um tema que não faz parte do {mdthemes} empacotar em um md_theme você pode usar o as_md_theme() função.

plot + mdthemes::as_md_theme(theme_minimal())

Assim como {ggtext}, a {mdthemes} Atualmente, o pacote está disponível apenas no GitHub. Você pode instalá-lo copiando e colando esse código no seu R console.

remotes::install_github("thomas-neitmann/mdthemes")



Se você chegou até aqui, por que não inscreva-se para atualizações do site? Escolha o seu sabor: e-mail, twitter, RSS ou facebook …

Leia Também  O é para order_by | R-bloggers



cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br