Creating plots with Plotly Package and Rmd
Part of Course: Developing Data Products (Coursera - Johns Hopkins)
In this example, we created with Plotly
package. Also, I used dplyr
for cleaning the data and widgetframe
for rendering in blogdown
correctly.
This plot shows historical water allocations for AGRICULTURE according to REPDA by CONAGUA in Yucatán Península, México.
First step: Download and data cleaning
library(plotly)
library(dplyr)
library(widgetframe)
url <-"http://201.116.60.46/DatosAbiertos/Otorgamiento_de_Concesiones.zip"
temp <- tempfile()
temp2 <- tempfile()
download.file(url, temp, mode="wb")
unzip(zipfile = temp, exdir = temp2)
data <- read.csv(file = paste0(temp2,"\\CONCESIONES","\\ANEXOS_SUBTERRANEOS.csv",sep=""),encoding = "UTF-8")
data1 <- read.csv(file = paste0(temp2,"\\CONCESIONES","\\CONCESIONES.csv",sep=""),encoding = "UTF-8")
data_all <- merge(x = data,y= data1, by = "X.U.FEFF.TITULO", all.x = TRUE)
unlink(c(temp, temp2))
#head(data_all)
df1 <- filter(data_all, NOMBRE.DE.ESTADO %in% c("CAMPECHE","QUINTANA ROO","YUCATAN"),USO.QUE.AMPARA.EL.TITULO %in% c("AGRICOLA")) #filter by State and coordinates
df1 <- data.frame(uso=c(df1$USO.QUE.AMPARA.EL.TITULO),vol=df1$VOLUMEN.ANUAL.EN.m3,date=df1$FECHA.DE.REGISTRO)
Second step: Generate plot with ploty
volume is in m3
df2 <- df1 %>%
group_by(date,uso) %>%
summarize(volume_m3=sum(vol))
my_plot <- plot_ly(df2, x = ~date, y =~volume_m3, type = "scatter",mode='lines+markers')
my_plot <- my_plot %>%
layout(title = "Time Series water concession in Yucatan Peninsula",
xaxis = list(type = 'date',tickformat = "%B %Y")
)
my_plot
## Warning: `arrange_()` is deprecated as of dplyr 0.7.0.
## Please use `arrange()` instead.
## See vignette('programming') for more help
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_warnings()` to see where this warning was generated.