ipeadata-lab / ipeaplot

ipeaplot: criando graficos no padrão editorial do Ipea
https://ipeadata-lab.github.io/ipeaplot/
Other
2 stars 0 forks source link

Problema em escalas bi-colores #37

Closed rafapereirabr closed 8 months ago

rafapereirabr commented 9 months ago

Encontrei um caso relativamente simples em que as escalas bicolores não estão funcionando direito. Exemplo reproduzivel abaixo em um plot com três cores:

REPREX

Carrega pacote e base de dados

# Utilizando a ultima versao do {ipeaplot}
utils::remove.packages('ipeaplot')
remotes::install_github("ipeadata-lab/ipeaplot")

library(ipeaplot)
library(ggplot2)

df <- structure(list(mean = c(0.32, 0.14, 0.26, 0.12, 0.23), 
                type = structure(c(1L, 2L, 3L, 2L, 3L),
                .Label = c("Sim", "Sim, parte do trajeto", "Sim, todo o trajeto"), 
                class = "factor"), 
                ano = c(2008, 2013, 2013, 2019, 2019)), 
                row.names = c(NA, -5L), 
                class = c("data.table", "data.frame"))

df
#>   mean                  type  ano
#> 1 0.32                   Sim 2008
#> 2 0.14 Sim, parte do trajeto 2013
#> 3 0.26   Sim, todo o trajeto 2013
#> 4 0.12 Sim, parte do trajeto 2019
#> 5 0.23   Sim, todo o trajeto 2019

Nesse caso aqui, a escala "Green-Blue" gera uma cor branca.

# Green-Blue
ggplot(data = df, aes(x = factor(ano), y = mean, fill = type)) + 
  geom_bar(stat="identity", color='black') +
  scale_y_continuous(labels = scales::percent) +
  ipeaplot::scale_fill_ipea(discrete = T, palette = 'Green-Blue')

Rplot

Nesse outro caso, a escala "Orange-Blue" gera uma cor branca e uma cor vermelha.

# Orange-Blue
ggplot(data = df, aes(x = factor(ano), y = mean, fill = type)) + 
  geom_bar(stat="identity", color='black') +
  scale_y_continuous(labels = scales::percent) +
  ipeaplot::scale_fill_ipea(discrete = T, palette = 'Orange-Blue')

Rplot01

PedroJorge7 commented 9 months ago

Isso acontecia porque estava usando a paleta 'Orange-Blue-White'. Essa opção acredito que ela se encaixa mais em escala contínua que fica mais evidente um branco separando as cores.

Eu adicionei no pacotei a opção 'Orange-Blue-White' e deixei o 'Orange-Blue' como a paleta sem o branco. Assim conseguimos resolver esse problema

image

rafapereirabr commented 8 months ago

voce manteve a opcao "Orange-Blue-White" ?