Olá pessoal!
Eu estava usando no meu app shiny o pacote highcharter, porém descobrir que não posso usar no meu site , pois é para uma instituição governamental e segundo a licença deverei pagar pelo uso do pacote. Comecei a usar o pacote echarts4r que ao meu ver é mais enxuto que o pacote anterior.
Consegui configurar boa parte dos meus gráficos, porém não consegui configurar o rotulo dos pontos do gráfico de linha, por exemplo colocar o separadores de milhar e o separador de decimal. Para o eixo y foi bem simples como na imagem abaixo.
inf6 %>% filter(Estado_Município == "Pará") %>%
e_charts(x = Ano) %>%
e_line(serie = Valor,
name = "Caregamento") %>%
e_tooltip() %>%
e_labels(fontSize = 12) %>%
e_format_y_axis(suffix = "",prefix = "",formatter = e_axis_formatter(locale = "PT",digits = 0)) %>%
e_axis_labels(x = "Ano", y = "Toneladas")
Obrigado pela atenção de todos!
2 curtidas
Oieee!
Muitas vezes eu acabo procurando coisas na documentação da biblioteca echarts, pois no echarts4r a documentação vai até certo ponto…
Ex: Documentation - Apache ECharts
O argumento formatter é útil para isso. O problema é que nem sempre é direto com R, nesse caso eu montei um exemplo usando uma função que usa JavaScript feita pelo @wamorim: formatar_numero_br()
Fiz um exemplo usando uma base dados que todo mundo tem acesso.
library(dados)
library(echarts4r)
formatar_numero_br <- function(serie) {
htmlwidgets::JS(
glue::glue(
"function(params) {return Intl.NumberFormat('pt-BR', { style: 'decimal'}).format(params.value[{{serie}}]);}",
.open = "{{",
.close = "}}"
)
)
}
dados::voos |>
dplyr::count(mes) |>
e_charts(x = mes) |>
e_line(serie = n,
name = "Quantidade de voos") |>
e_tooltip(formatter = formatar_numero_br(1)) |>
e_labels(fontSize = 12,
distance = 10,
formatter = formatar_numero_br(1)) |>
e_format_y_axis(
suffix = "",
prefix = "",
formatter = e_axis_formatter(locale = "PT", digits = 0)
) |>
e_axis_labels(x = "Mês", y = "Quantidade de voos")
1 curtida