-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgraficos.R
More file actions
174 lines (135 loc) · 5.56 KB
/
Copy pathgraficos.R
File metadata and controls
174 lines (135 loc) · 5.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
## APRENDENDO A FAZER GRÁFICOS COM R (GGPLOT2)
#Referência: https://livro.curso-r.com/8-1-o-pacote-ggplot2.html
#Carregar pacotes
library(ggplot2)
##APRENDENDO A GRAMÁTICA DO GGPLOT:
#A lógica desse pacote é inserir camadas a cada linha.
#Primeiro, o tipo de gráfico e quais colunas da tabela vão ser usadas.
#Depois, inserir cores, tamanhos, legendas, título, fonte etc.
##PRINCIPAIS CARACTERÍSTICAS DO GGPLOT:
#Para adicionarmos mais camadas, não usamos o PIPE, e sim o sinal de +
#Uma palavra-chave do ggplot é "aes" (aesthetic, a estética do gráfico)
#Podemos criar um novo objeto para o plot...
#...ou já incluir o código dentro do "parágrafo".
##EXEMPLO: GRÁFICO DE BARRAS.
#Vamos usar a tabela MEDIA_RACA:
#Passo 1 - abrir a tabela:
media_raca <- read.csv2("data/media_raca.csv")
#Passo 2 - definir as colunas que serão usadas:
View(media_raca)
#No eixo X teremos a raça, no eixo Y a média.
#Passo 3 - fazer os ajustes:
#Arredondar os valores
plot_media_raca <- media_raca |>
mutate(media_votos = round(media_votos,0))
#Ordenar do maior valor para o menor (mas para o gráfico)
#OBS: Nesse caso, não é com um simples arrange.
plot_media_raca <- media_raca |>
mutate(media_votos = round(media_votos,0),
cor_raca = reorder(cor_raca, media_votos, decreasing = T))
#Criar um gráfico de barras (esse caso, vertical, em colunas)
plot_media_raca <- media_raca |>
mutate(media_votos = round(media_votos,0),
cor_raca = reorder(cor_raca, media_votos, decreasing = T)) |>
ggplot() +
geom_col(aes(x = cor_raca, y = media_votos))
#Agora vamos criar o mesmo gráfico, mas com barras na horizontal
plot_media_raca <- media_raca |>
mutate(media_votos = round(media_votos,0),
cor_raca = reorder(cor_raca, media_votos, decreasing = T)) |>
ggplot() +
geom_col(aes(x = media_votos, y = cor_raca))
#Nesse caso, o "decreasing = T" não serve pra gente.
#Vamos refazer o código, mas deixando na ordem "padrão":
plot_media_raca <- media_raca |>
mutate(media_votos = round(media_votos,0),
cor_raca = reorder(cor_raca, media_votos)) |>
ggplot() +
geom_col(aes(x = media_votos, y = cor_raca))
#Hora de escolher um tema mais bonitinho:
plot_media_raca <- media_raca |>
mutate(media_votos = round(media_votos,0),
cor_raca = reorder(cor_raca, media_votos)) |>
ggplot() +
geom_col(aes(x = media_votos, y = cor_raca)) +
theme_light()
#Agora, vamos adicionar legenda, título e fonte:
plot_media_raca <- media_raca |>
mutate(media_votos = round(media_votos,0),
cor_raca = reorder(cor_raca, media_votos)) |>
ggplot() +
geom_col(aes(x = media_votos, y = cor_raca)) +
theme_light() +
labs(title="MÉDIA DE VOTOS POR COR/RAÇA",
subtitle="Eleições 2022 para a Alesp",
caption="Fonte: TRE-SP",
x="Média de votos",
y="Cor ou raça")
#Podemos também incluir o valor de cada barra:
plot_media_raca <- media_raca |>
mutate(media_votos = round(media_votos,0),
cor_raca = reorder(cor_raca, media_votos)) |>
ggplot() +
geom_col(aes(x = media_votos, y = cor_raca)) +
theme_light() +
labs(title="MÉDIA DE VOTOS POR COR/RAÇA",
subtitle="Eleições 2022 para a Alesp",
caption="Fonte: TRE-SP",
x="Média de votos",
y="Cor ou raça") +
geom_label(aes(x = media_votos, y = cor_raca, label = media_votos))
#Por último, vamos dar uma cor mais bonita ao gráfico:
plot_media_raca <- media_raca |>
mutate(media_votos = round(media_votos,0),
cor_raca = reorder(cor_raca, media_votos)) |>
ggplot() +
geom_col(aes(x = media_votos,
y = cor_raca,
fill = cor_raca)) +
theme_light() +
labs(title="MÉDIA DE VOTOS POR COR/RAÇA",
subtitle="Eleições 2022 para a Alesp",
caption="Fonte: TRE-SP",
x="Média de votos",
y="Cor ou raça") +
geom_label(aes(x = media_votos, y = cor_raca, label = media_votos))
#Mas, não queremos a legenda, porque não é necessário nesse caso:
plot_media_raca <- media_raca |>
mutate(media_votos = round(media_votos,0),
cor_raca = reorder(cor_raca, media_votos)) |>
ggplot() +
geom_col(aes(x = media_votos,
y = cor_raca,
fill = cor_raca),
show.legend = F) +
theme_light() +
labs(title="MÉDIA DE VOTOS POR COR/RAÇA",
subtitle="Eleições 2022 para a Alesp",
caption="Fonte: TRE-SP",
x="Média de votos",
y="Cor ou raça") +
geom_label(aes(x = media_votos, y = cor_raca, label = media_votos))
#Finalizado o gráfico, vamos salvar a imagem em um arquivo PNG.
##SALVAR IMAGENS
#Para isso, vamos usar o pacote COWPLOT.
install.packages("cowplot")
#Vamos carregar o pacote de um outro jeito:
cowplot::save_plot("grafico_media_raca.png", plot_media_raca)
#Pronto! =)
########PRÁTICA DA VIDA REAL########
plot_eleitos_raca <- media_raca %>%
mutate(cor_raca = reorder(cor_raca, total_candidatos)) %>%
ggplot() +
geom_col(aes(x = total_candidatos,
y = cor_raca,
fill = cor_raca),
show.legend = F) +
theme_light() +
labs(title="TOTAL DE ELEITOS POR COR/RAÇA",
subtitle="Eleições 2022 para a Alesp",
caption="Fonte: TRE-SP",
x="Média de votos",
y="Cor ou raça") +
geom_label(aes(x = total_candidatos, y = cor_raca, label = total_candidatos))
plot_eleitos_raca
cowplot::save_plot("grafico_eleitos_raca.png", plot_eleitos_raca)