-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.R
98 lines (79 loc) · 3.21 KB
/
app.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
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
library(shiny)
library(tidyverse)
# Cargar códigos estaciones
load(file = "scripts/tabla_estaciones.RData")
# Constantes
cod.estaciones = tabla_estaciones$`Código Nacional`
nombre.estaciones = tabla_estaciones$Nombre
variables = c("Temperatura",
"Humedad",
"Viento",
"Agua Caída")
# UI
ui = fluidPage(
theme = bslib::bs_theme(bootswatch = "darkly"),
# Application title
h2("Plataforma de Datos Climáticos", align = "center"),
fluidRow(
column(width = 10, offset = 1,
HTML("<p> La Plataforma de Datos Climáticos es muy fácil de usar.
En el panel de la izquierda elija la estación de la cual tomar los datos, más abajo puede seleccionar un rango de fechas
haciendo uso de las opciones <em> Fecha Inicio</em> y <em> Fecha Termino</em>.
Por último elija las variable que desea incluir en el gráfico.</p>
<p> El mapa a la derecha muestra las ubicaciones de todas las estaciones disponibles. Si hace click en un marcador
podrá ver el nombre y código nacional de la estación a la cual referencia. </ṕ>")
)
),
# Sidebar con selectores de opciones
fluidRow(
column(width = 1),
column(width = 10,
sidebarLayout(
sidebarPanel(
#helpText("Usa los comandos de este panel para generar un gráfico según tus necesidades"),
selectInput("nom.est", "Estación", nombre.estaciones),
#selectInput("cod.est", "Estación", cod.estaciones),
dateInput("f.init", "Fecha Inicio"),
dateInput("f.final", "Fecha Termino"),
checkboxGroupInput("variables", "Variables a graficar", variables)),
# Show a plot of the generated distribution
mainPanel(
source("scripts/mapa_ubicaciones.R",
local = FALSE,
echo = FALSE)
))),
column(width = 1)
),
fluidRow(
column(width = 1),
column( width = 10,
plotOutput("plotPrueba")
),
column(width = 1),
)
)
# Define server logic
server = function(input, output){
output$plotPrueba = renderPlot({
try({
nombre = input$nom.est
indx = which(tabla_estaciones$Nombre == nombre)
cod.est = tabla_estaciones$`Código Nacional`[indx]
#cod.est = input$cod.est
path.datos = paste("Datos/",
as.character(cod.est),
"/datos.RData",
sep = "")
load(file = path.datos)
loaded = datos.est.actual %>% is_tibble()
plot(datos.est.actual$Temperatura,
main = "Un gráfico de ejemplo",
type = "l", lwd = 0.75,
col = "red")
}
)
}
)
}
# Run the application
shinyApp(ui = ui, server = server)