-
Notifications
You must be signed in to change notification settings - Fork 0
/
grafico_dinamico.R
53 lines (39 loc) · 1.77 KB
/
grafico_dinamico.R
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
#Este código permite consturir gráficas dinámicas para ver el comportamiento de casos de Covid19.
#Realizado por Sergio Castañeda
#se instalan y cargan los paquetes necesarios. Universidad del Rosario. Centro de Investigaciones en Microbiología y Biotecnología UR. CIMBIUR
install.packages("dplyr")
# Library
library(dplyr)
library(dygraphs)
library(xts) # To make the convertion data-frame / xts format
library(tidyverse)
library(lubridate)
library(cowplot)
# Definir csv de origen
datanotificacion <- read.table("/Users/sergio.castaneda/Desktop/UNIVERSIDAD_DEL_ROSARIO/PROYECTOS/DINAMICA_SARS_COV/raw_data/rawdata_notificacion/rawdata-co-all.csv",
header=T, sep=",") %>% head(300)
#datanotificacion <- na.omit(datanotificacion)
# Funcion que permite crear un grafico dinamico de serie de tiempo
graficadora_zoom_notificacion <- function(el_dataframe) {
# Para omitir casillas vacias
na.omit(el_dataframe)
# Check type of variable
# str(data)
# Since my time is currently a factor, I have to convert it to a date-time format!
el_dataframe$date <- ymd(el_dataframe$date)
# Crear el elemento xts necesario para usar dygraph
don <- xts(x = el_dataframe$new_cases, order.by = el_dataframe$date)
# Generar el plot
p <- dygraph(don) %>%
dyOptions(labelsUTC = TRUE, fillGraph=TRUE, fillAlpha=0.1, drawGrid = FALSE, colors="red") %>%
dyRangeSelector() %>%
dyCrosshair(direction = "vertical") %>%
dyHighlight(highlightCircleSize = 5, highlightSeriesBackgroundAlpha = 0.2, hideOnMouseOut = FALSE) %>%
dyRoller(rollPeriod = 1)
p
}
#ejemplo de ejecución de la función
graficadora_zoom_notificacion(datanotificacion)
# save the widget
#library(htmlwidgets)
#saveWidget(p, file=paste0(getwd(), "/HtmlWidget/dygraphs318.html"))