Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adicionado diferença hchart() e highchart() #6

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
140 changes: 140 additions & 0 deletions tutorial_highcharter.Rmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
---
title: "Tutorial sobre highcharter"
author: "Antonio Lúcio"
date: "28 de maio de 2017"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

Tutorial sobre Highcharter

```{r}
library(magrittr)
library(highcharter)
library(dplyr, warn.conflicts = FALSE)
library(ggplot2)
library(datasets)
theme_set(theme_bw())
```

##O que é?

Highcharts é uma biblioteca de gráficos, que oferece uma maneira fácil de adicionar gráficos interativos.

##Diferença entre hchart() e highchart():

highchart() cria gráficos com mais recursos, mais elaborados.

hchart() desenha vários gráficos com um único comando.
Por exemplo, usar hchar() e passar uma variável categórica e uma numérica ele automaticamente lhe apresentará um gráfico de barras. Se utilizar duas numéricas, um histograma.

###Gráfico de barras:
Para criar um gráfico de barras que mostre quantos diamantes por tipo de corte tem o dataSet diamonds:
```{r}
hchart(diamonds$cut, colorByPoint = TRUE, name = "Quantidade de diamantes por tipo de corte")
```
Observe que ao passar o mouse sobre uma determinada coluna, o valor exato dela é apresentado

###Histograma:
Para criar um histograma que mostre quantos diamentes existem por faixa de preço:
```{r}
hchart(diamonds$price, color = "#B71C1C", name = "Preço") %>%
hc_title(text = "Você pode dar um zoom nesse gráfico aqui")
```

Agora observe que passamos a mesma função, mudando basicamente o tipo passado para função. No primeiro gráfico, passamos uma variável categórica, e ele automaticamente nos gerou um gráfico de barras agrupando pela variável. No segundo gráfico, passamos uma variável numérica, e como ele agrupa pela variável passada, automaticamente nos gerou um histograma que podemos dar zoom, e observar a quantidade de diamantes por faixa de preço.

Para mais opções de argumentos dos gráficos acima:
https://www.rdocumentation.org/packages/highcharter/versions/0.5.0/topics/hc_chart

##Boxplot

Para gerar um boxplot:
```{r}
hcboxplot(x = diamonds$x, var = diamonds$color,
name = "Length", color = "#2980b9")
```
Observe que ao passar o mouse por cima de um boxplot, aparecerá todas as informações pertinentes a ele.


##Dispersão:

Para o gráfico a seguir, utilizamos o dataSet mtcars. Onde para plotar o gráfico utilizamos 4 variáveis numéricas.

- wt: Peso (1000 lbs)

- mpg: Milhas por galão

- drat: Relação do eixo trazeiro

- hp: Cavalos de potência

```{r}
highchart() %>%
hc_title(text = "Gráfico de dispersão com tamanho e cor") %>%
hc_add_series_scatter(mtcars$wt, mtcars$mpg,
mtcars$drat, mtcars$hp)

```

Onde:

- O eixo x é o peso do carro

- O eixo y são as milhas por galão

- O tamanho do circulo proporcional a relação do eixo trazeiro

- A cor são os cavalos de potência, quanto mais claro mais cavalos o carro possui.

Para mais opções desse gráfico:
https://www.rdocumentation.org/packages/highcharter/versions/0.5.0/topics/hc_add_series_scatter


###Gráfico de linhas

Para o gráfico a seguir, utilizamos o dataSet citytemp. Este dataset nos traz informações sobre a temperatura durante um ano de 4 cidades: Tokyo, Londres, Berlin e Nova York.

```{r}
hc <- highchart() %>%
hc_xAxis(categories = citytemp$month) %>% #O eixo x será os meses
hc_add_series(name = "Tokyo", data = citytemp$tokyo) %>% #adicionando a linha referente a ToKyo
hc_add_series(name = "Londres", data = citytemp$london) %>%
hc_add_series(name = "Outras cidades",
data = (citytemp$tokyo + citytemp$london)/2) #realizando a médias das cidades restantes para plotar em uma única linha

hc
```
Observe que se você clicar em um nome de alguma das cidades na parte inferior do gráfico, as informações sobre ela desaparecem.



Para transformar para um gráfico de barras e deixar o mesmo em 3D:
```{r}
hc <- hc %>%
hc_chart(type = "column",
options3d = list(enabled = TRUE, beta = 15, alpha = 15))

hc
```

Para mais opções desse gráfico:
https://www.rdocumentation.org/packages/highcharter/versions/0.5.0/topics/hc_chart
http://api.highcharts.com/highcharts/xAxis
https://www.rdocumentation.org/packages/highcharter/versions/0.5.0/topics/hc_add_series


###Outras opções

A biblioteca é vasta, pode-se trabalhar com mapas, integrar com Shiny, mudar temas, etc.
http://jkunst.com/highcharter/index.html