Skip to content

Instantly share code, notes, and snippets.

@FelipeSBarros
Last active June 25, 2024 15:59
Show Gist options
  • Save FelipeSBarros/491938b8e54f71ec3090603d320a9b35 to your computer and use it in GitHub Desktop.
Save FelipeSBarros/491938b8e54f71ec3090603d320a9b35 to your computer and use it in GitHub Desktop.
# instalando pacotes necessários ----
# install.packages("patchwork")
library(readr)
library(dplyr)
library(tidyr)
library(ggplot2)
library(patchwork)
library(stringr)
# lendo dados
lista_csvs <- list.files(path='./Dados', full.names = T)
lista_csvs
for (csv in lista_csvs){
# csv = lista_csvs[1]
nome_bacia <- stringr::str_split(csv, pattern='_')[[1]][2]
nome_bacia <- stringr::str_split(nome_bacia, pattern = '.csv')[[1]][1]
csv_bacia <- readr::read_delim(csv, delim = ';')
csv_bacia <- csv_bacia |>
rename_all(
funs(
stringr::str_replace_all(., ' \\(hectares\\)', '')
)
)
csv_bacia_long <- pivot_longer(csv_bacia,
cols=colnames(csv_bacia)[2:8],
names_to='Classe',
values_to='Area_ha')
csv_bacia_long <- csv_bacia_long |>
group_by(Ano, Classe) |>
summarise(area_total = sum(Area_ha)) |>
mutate(
porcentagem = round((area_total / sum(area_total))*100, 1)
# sum(area_total)
)
# plot usos ----
usos <- csv_bacia_long |>
filter(
Classe %in% c(
"Área de outras classes",
"Área de massas de Água",
"Área de irrigação",
"Área de cultivo de Soja")
) |>
ggplot() + geom_line(aes(x=Ano, y=porcentagem, group=Classe, color=Classe)) +
labs(title=paste("Uso do solo", nome_bacia),
x ="", y = "% área total") +
# theme(legend.position=c(0.25, 0.78))+#c("bottom")) +
theme(legend.title=element_blank(),
legend.position=c("bottom"))
ggsave(paste0("./Graficos/", nome_bacia, "_uso.png"),
plot = last_plot(),
width=7, height = 5)
# plot massa de agua ----
massa_agua <- csv_bacia_long |>
filter(
Classe %in% c(
"Área de massas de Água"
)) |>
ggplot() + geom_area(aes(x=Ano, y=porcentagem, group=Classe, fill=4, alpha=0.5)) +
labs(title=paste("Área de massas de Água (hectares)", nome_bacia),
x ="", y = "% área total") +
theme(legend.position="none") +
theme(legend.title=element_blank())
ggsave(paste0("./Graficos/", nome_bacia, "_MassaÁgua.png"),
plot = last_plot(),
width=7, height = 5)
# plot Vegetacao nativa desmatamento ----
veg_desmatamento <- csv_bacia_long |>
filter(
Classe %in% c(
"Área de cultivo de Soja",
"Área de vegetação nativa",
"Área desmatada sem Soja",
"Área desmatada com Soja"
)) |>
ggplot() + geom_line(
aes(x=Ano, y=porcentagem, group=Classe, color=Classe)) +
labs(title=paste("Vegetação nativa, desmatamento e cultivo de soja (hectares)", nome_bacia),
x ="", y = "% da área total") +
# theme(legend.position=c(0.81, 0.85)) +
theme(legend.title=element_blank(),
legend.position=c("bottom"))
ggsave(paste0("./Graficos/", nome_bacia, "_VegNatDesmatSoja.png"),
plot = last_plot(),
width=9, height = 5)
# plot area desmatada ----
desmatamento <- csv_bacia_long |>
filter(
Classe %in% c(
"Área desmatada sem Soja",
"Área desmatada com Soja"
)) |>
ggplot() + geom_line(
aes(x=Ano, y=porcentagem, group=Classe, color=Classe)) +
labs(title=paste("Área desmatada", nome_bacia),
x ="", y = "% área total") +
# theme(legend.position=c(0.21, 0.85)) +
theme(legend.title=element_blank(),
legend.position=c("bottom"))
ggsave(paste0("./Graficos/", nome_bacia, "_AreaDesmatada.png"),
plot = last_plot(),
width=9, height = 5)
# Plot desmatamento ----
agua <- csv_bacia_long |>
filter(
Classe %in% c(
"Área de massas de Água"
))
desmatamento_agua <- csv_bacia_long |>
filter(
Classe %in% c(
"Área desmatada sem Soja",
"Área desmatada com Soja"
)) |>
ggplot() + geom_col(
aes(x=Ano, y=porcentagem, group=Classe, color=Classe, fill=Classe), position = 'stack') +
labs(title=paste("Área desmatada e massas de água", nome_bacia),
x ="", y = "% área total") +
geom_line(data=agua, aes(x=Ano, y=porcentagem*100), color='blue', size=2) +
scale_y_continuous(
name="% Área desmatada",
sec.axis = sec_axis(~./100, name="% Área de massas de Água"),
# expand = c(0,0))
) +
theme(
legend.position=c("bottom"),
legend.title=element_blank(),
axis.text.y = element_text(angle = 90),
axis.title.y.right = element_text(color = 'blue'),
axis.line.y.right = element_line(color = "blue"),
axis.ticks.y.right = element_line(color = "blue"),
axis.text.y.right = element_text(color = "blue")
)
ggsave(paste0("./Graficos/", nome_bacia, "_AreaDesmatadaMassasAgua.png"),
plot = last_plot(),
width=9, height = 5)
usos / veg_desmatamento / desmatamento + plot_annotation(tag_levels = "I")
ggsave(paste0("./Graficos/", nome_bacia, "_graficos_usos.png"),
plot = last_plot(),
width=10, height = 7)
desmatamento_agua / massa_agua + plot_annotation(tag_levels = "I")
ggsave(paste0("./Graficos/", nome_bacia, "_graficos_agua.png"),
plot = last_plot(),
width=10, height = 7)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment