-
Notifications
You must be signed in to change notification settings - Fork 2
/
script_3eroMeetup_2020.txt
284 lines (214 loc) · 10.7 KB
/
script_3eroMeetup_2020.txt
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
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
##### RLADIES NATAL #####
# Traduzindo nossos dados através da visualização gráfica
# by Kelly Y. Inagaki
# 22 de julho de 2020
##### INSTALANDO E CARREGANDO O PACOTE #####
#install.packages("ggplot2")
library(ggplot2)
##### DADOS FICTICIOS #####
setwd("D:/0 RLadies/1 Aula_ggplot2/ggplot2")
dados <- read.table("dado.txt", header=T)
dados = as.data.frame(dados)
summary(dados)
##### ENTENDENDO OS ARGUMENTOS #####
ggplot(data = dados) + #camada 0: dizemos ao R que esses são todos os dados que podem ser aplicados no grafico
geom_boxplot(aes(x = fruta, y = proporcao)) #função geom_ define a forma do gráfico; função aes define quais os dados você quer plotar e como eles serão relacionados
##### EXPLORANDO OS TIPOS DE GRAFICOS #####
ggplot(data = dados) +
geom_point(aes(x = fruta, y = proporcao)) #gráfico de pontos
ggplot(data = dados) +
geom_count(aes(x = fruta, y = proporcao)) #gráfico de proporção
ggplot(data = dados) +
geom_violin(aes(x = fruta, y = proporcao))
ggplot(data = dados) +
geom_violin(aes(x = fruta, y = fungo))
ggplot(data = dados) +
geom_line(aes(x = fruta, y = fungo)) #gráfico de linha, mas que não faz sentido com esses dados
ggplot(data = dados) +
geom_area(aes(x = fruta, y = fungo)) #gráfico de área, mas que não faz sentido com esses dados
##### PERSONALIZANDO SEU GRAFICO #####
###cores
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao))
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao, col = "blue")) #estranho, né?
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao), col = "blue") #fora da função aes, porque a cor não é uma nova variável
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao), fill = "purple", col = "black")
###cores representando dados
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao,
color = local #color define a cor das linhas, referente às categorias da variável local
))
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao,
color = local, #color define a cor das linhas, referente às categorias da variável local
fill = local)) #fill define a cor das formas, referente às categorias da variável local
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao,
color = "black", #color define a cor das linhas
fill = local)) #fill define a cor das formas
#Não funciona, porque a função aes espera que qualquer argumento seja uma variável
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao,
color = local, #color define a cor das linhas
fill = local),
color = "black") +
labs(x = "Frutas", y = "Proporção", fill = "Local") #define os textos
###sobreposição de gráficos
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao))
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao)) +
geom_point(aes(x = fruta, y = proporcao)) #adicionei o gráfico de pontos
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao)) +
geom_boxplot(aes(x = fruta, y = proporcao), color = "gray", fill = "gray") +
geom_point(aes(x = fruta, y = proporcao, color = local))
### modificando os eixos
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao, color = local, fill = local), color = "black") +
labs(x = "Frutas", y = "Proporção", fill = "Local")
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao, color = local, fill = local), color = "black") +
labs(x = "Frutas", y = "Proporção", fill = "Local") +
scale_y_continuous(labels = c("0%", "25%", "50%", "75%", "100%")) #altera os nomes no eixo y
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao, color = local, fill = local), color = "black") +
labs(x = "Frutas", y = "Proporção", fill = "Local") +
scale_y_continuous(labels = c("0%", "25%", "50%", "75%", "100%")) +
scale_x_discrete(labels = c("Orange", "Lemon")) #altera os nomes no eixo x
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao, color = local, fill = local), color = "black") +
labs(x = "Frutas", y = "Proporção", fill = "Local") +
scale_y_continuous(labels = c("0%", "25%", "50%", "75%", "100%")) +
scale_x_discrete(labels = c("Orange", "Lemon")) +
scale_fill_discrete(labels = c("Cima", "Baixo")) #altera o nome das categorias dentro de "fill"
###modificando cores
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao, color = local, fill = local), color = "black") +
labs(x = "Frutas", y = "Proporção", fill = "Local") +
scale_y_continuous(labels = c("0%", "25%", "50%", "75%", "100%")) +
scale_x_discrete(labels = c("Orange", "Lemon")) +
scale_fill_discrete(labels = c("Cima", "Baixo")) +
scale_fill_manual(values = c("light blue", "pink")) #altera a cor conforme local
###modificando cores com ColorBrewer
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao, color = local, fill = local), color = "black") +
labs(x = "Frutas", y = "Proporção", fill = "Local") +
scale_y_continuous(labels = c("0%", "25%", "50%", "75%", "100%")) +
scale_x_discrete(labels = c("Orange", "Lemon")) +
scale_fill_discrete(labels = c("Cima", "Baixo")) +
scale_fill_manual(values = c("light blue", "pink")) + #altera a cor conforme local
scale_fill_brewer(palette = "Purples") #escolhe a paleta de cores do ColorBrewer
###modificando posição da legenda
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao, color = local, fill = local), color = "black") +
labs(x = "Frutas", y = "Proporção", fill = "Local") +
scale_y_continuous(labels = c("0%", "25%", "50%", "75%", "100%")) +
scale_x_discrete(labels = c("Orange", "Lemon")) +
scale_fill_discrete(labels = c("Cima", "Baixo")) +
scale_fill_manual(values = c("light blue", "pink")) +
theme(legend.position = "top") #altera a posição da legenda: top, bottom, left, right
###modificando o fundo
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao, color = local, fill = local), color = "black") +
labs(x = "Frutas", y = "Proporção", fill = "Local") +
scale_y_continuous(labels = c("0%", "25%", "50%", "75%", "100%")) +
scale_x_discrete(labels = c("Orange", "Lemon")) +
scale_fill_discrete(labels = c("Cima", "Baixo")) +
scale_fill_manual(values = c("light blue", "pink")) +
theme(legend.position = "top") + #altera a posição da legenda: top, bottom, left, right
#theme_bw() #altera o fundo
theme_minimal()
#theme_dark()
#theme(panel.background = element_rect(fill = "transparent", colour = NA))
###adicionando título
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao, color = local, fill = local), color = "black") +
labs(x = "Frutas", y = "Proporção", fill = "Local") +
scale_y_continuous(labels = c("0%", "25%", "50%", "75%", "100%")) +
scale_x_discrete(labels = c("Orange", "Lemon")) +
scale_fill_discrete(labels = c("Cima", "Baixo")) +
scale_fill_manual(values = c("light blue", "pink")) +
theme(legend.position = "top") + #altera a posição da legenda: top, bottom, left, right
theme_minimal() +
ggtitle("Infecção de cítricos por fungo") +
theme(plot.title = element_text(hjust = 0.5))
###invertendo o gráfico
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao, color = local, fill = local), color = "black") +
labs(x = "Frutas", y = "Proporção", fill = "Local") +
scale_y_continuous(labels = c("0%", "25%", "50%", "75%", "100%")) +
scale_x_discrete(labels = c("Orange", "Lemon")) +
scale_fill_discrete(labels = c("Cima", "Baixo")) +
scale_fill_manual(values = c("light blue", "pink")) +
theme(legend.position = "bottom") + #altera a posição da legenda: top, bottom, left, right
theme_minimal() +
ggtitle("Infecção de cítricos por fungo") +
theme(plot.title = element_text(hjust = 0.5)) +
coord_flip() #inverte os eixos do gráfico
#coord_polar()
##### EXPORTANDO E SALVANDO SEU GRÁFICO #####
setwd("D:/0 RLadies/1 Aula_ggplot2/ggplot2/Figuras") #define o diretório onde quer salvar
png("cítricos.png", width = 2000, height = 2500, res = 300, bg = "transparent") #pode ser formato png, jpeg, pdf; bg define o gráfico sem fundo
ggplot(data = dados) +
geom_boxplot(aes(x = fruta, y = proporcao, color = local, fill = local), color = "black") +
labs(x = "Frutas", y = "Proporção", fill = "Local") +
scale_y_continuous(labels = c("0%", "25%", "50%", "75%", "100%")) +
scale_x_discrete(labels = c("Orange", "Lemon")) +
scale_fill_discrete(labels = c("Cima", "Baixo")) +
scale_fill_manual(values = c("light blue", "pink")) +
theme(legend.position = "bottom") + #altera a posição da legenda: top, bottom, left, right
theme_minimal() +
ggtitle("Infecção de cítricos por fungo") +
theme(plot.title = element_text(hjust = 0.5))
#coord_flip() #inverte os eixos do gráfico
#coord_polar()
dev.off() #diz que a partir daqui não é pra salvar mais nada
##### Paletas de cores #####
###ColorBrewer
dsamp <- diamonds[sample(nrow(diamonds), 1000), ] #base de dados hipotética
d <- ggplot(dsamp, aes(carat, price)) +
geom_point(aes(colour = clarity))
d
d + scale_colour_brewer()
d + scale_colour_brewer(palette = "Reds")
d + scale_colour_brewer(palette = "BuPu")
d + scale_colour_brewer(palette = "BrBG")
###HEX
de <- read.table(header=TRUE, text='
cond1 cond2 yval
A I 2
A J 2.5
A K 1.6
B I 2.2
B J 2.4
B K 1.2
C I 1.7
C J 2.3
C K 1.9
')
ggplot(df2, aes(x=cond1, y=yval)) +
geom_bar(aes(fill=cond2), # fill depende de cond2
stat = "identity",
colour = "black", #contorno em preto
position = position_dodge()) # coloca as barras lado a lado e não empilhadas
# criando paleta de cores
cbPalette <- c("#999999", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7")
# altera a cor da forma
ggplot(df2, aes(x=cond1, y=yval)) +
geom_bar(aes(fill=cond2),
stat = "identity",
colour = "black",
position = position_dodge()) +
scale_fill_manual(values=cbPalette)
####Cores contínuas
set.seed(133)
df <- data.frame(xval=rnorm(50), yval=rnorm(50))
#Cor dependente do valor do eixo y
ggplot(df, aes(x=xval, y=yval, colour=yval)) + geom_point()
#Usando outro gradiente
ggplot(df, aes(x=xval, y=yval, colour=yval)) + geom_point() +
scale_colour_gradientn(colours=rainbow(4))