Capítulo 7 Programando com o ggplot2
Você chegou ao fim da versão online do livro Visualização de Dados com o R. O conteúdo integral da obra pode ser adquirido na loja da Amazon como ebook ou livro impresso. A compra do livro é uma ótima maneira de suportar este e outros projetos do autor.
7.1 Criando figuras via funções
Você chegou ao fim da versão online do livro Visualização de Dados com o R. O conteúdo integral da obra pode ser adquirido na loja da Amazon como ebook ou livro impresso. A compra do livro é uma ótima maneira de suportar este e outros projetos do autor.
7.2 Testando temas
Você chegou ao fim da versão online do livro Visualização de Dados com o R. O conteúdo integral da obra pode ser adquirido na loja da Amazon como ebook ou livro impresso. A compra do livro é uma ótima maneira de suportar este e outros projetos do autor.
7.3 Testando paletas
Você chegou ao fim da versão online do livro Visualização de Dados com o R. O conteúdo integral da obra pode ser adquirido na loja da Amazon como ebook ou livro impresso. A compra do livro é uma ótima maneira de suportar este e outros projetos do autor.
7.4 Testando temas e paletas
Você chegou ao fim da versão online do livro Visualização de Dados com o R. O conteúdo integral da obra pode ser adquirido na loja da Amazon como ebook ou livro impresso. A compra do livro é uma ótima maneira de suportar este e outros projetos do autor.
7.5 Exercícios
A solução dos exercícios de final de capítulo pode ser compilada localmente com o comando vdr::exercises_compile_solution()
. Alternativamente, podes baixar uma versão do arquivo compilado no site do livro10.
Q.1
O código abaixo irá criar um gráfico simples com os preços da ação da empresa Engie (EGIE.SA).
library(ggplot2)
df_yf <- yfR::yf_get("EGIE3.SA",
first_date = "2018-01-01")
p <- ggplot(
df_yf,
aes(x = ref_date, y = price_adjusted)
) + geom_line()
Após a execução do código acima, use as ferramentas de programação do R para testar os seguintes temas da figura:
ggplot2::theme_minimal()
e lembre de adicionar a informação do tema no título da figura.
Q.2
Considere o gráfico template gerado pelo código a seguir:
library(ggplot2)
p <- ggplot(
yfR::yf_get("USIM5.SA", first_date = "2018-01-01"),
aes(x = ref_date, y = price_adjusted)
) +
geom_line() +
labs(subtitle = "SUBTITLE",
caption = "CAPTION")
Pacote hrbrthemes
oferece uma grande variedade de temas adicionais a serem utilizados em um gráfico do ggplot2
. Todas funções de tema possum um padrão bem distinto, onde o nome da função inicia com o texto theme_
. Baseado nesta informação e também no uso da função ls
, podemos descobrir o nome de todas as funções de tema do hrbrthemes
com o código abaixo:
library(hrbrthemes)
all_fcts <- ls("package:hrbrthemes")
idx <- all_fcts |>
stringr::str_which("theme_")
theme_fcts <- all_fcts[idx]
Com base no código anterior:
- use as ferramentas de programação do R para, de forma automática, aplicar todos os temas anteriores para o gráfico gerado acima.
- agrege todos os gráfico em um único arquivo com função
cowplot::plot_grid
- salve a figura resultante como
hrbrthemes-demo.png
, pasta documentos (atalho com~
). Defina o tamanho da figura como height = 20cm e width = 30cm. DICA: Caso a figura gravada sair com fundo transparente, abra-a em um navegador da web, tal como o Chrome ou firefox.
Q.3
Considere o gráfico criado de barras criado com o código abaixo:
library(ggplot2)
tickers <- c("PETR3.SA", "ITSA3.SA",
"GRND3.SA", "GGBR3.SA",
"EGIE3.SA", "USIM5.SA")
df_yf <- yfR::yf_get(tickers,
"2020-01-01")
df_tab <- df_yf |>
dplyr::group_by(ticker) |>
dplyr::summarise(
total_ret = dplyr::last(cumret_adjusted_prices) - 1
) |>
dplyr::arrange(total_ret)
p <- ggplot(df_tab, aes(x = reorder(ticker, total_ret),
y = total_ret,
fill = total_ret)) +
geom_col(color = "white") +
theme_minimal() +
coord_flip() +
labs(title = stringr::str_glue(
"Performance de {length(tickers)} Ações Selecionadas"
),
y = "Retorno Total",
x = "Ticker")
Com base no código anterior, use as ferramentas de programação do R para, de forma automática, aplicar todas as possíveis combinações entre os temas:
- ggplot2::theme_light
- hrbrthemes::theme_modern_rc
- ggtech::theme_airbnb_fancy()
e as paletas do colorspace
- Red-Green
- Green-Brown
- Tropic
Adicionalmente:
- agrege todos os gráfico em um único arquivo com função
cowplot::plot_grid
- salve a figura resultante como
themes-and-palettes-demo.png
, pasta documentos (atalho com~
). Defina o tamanho da figura como height = 30cm e width = 60cm. DICA: Caso a figura gravada sair com fundo transparente, abra-a em um navegador da web, tal como o Chrome ou firefox.