Petra Lamborn 5 years ago
parent
commit
b7e2e1a9a4
1 changed files with 42 additions and 8 deletions
  1. 42
    8
      app.R

+ 42
- 8
app.R View File

33
    sidebarLayout(
33
    sidebarLayout(
34
       # Sidebar ----
34
       # Sidebar ----
35
       sidebarPanel(
35
       sidebarPanel(
36
-      ),
36
+        sliderInput("secyears", "Date range", 
37
+                    min=1990, max=2010, value=c(1990, 2010),
38
+                    sep="", step=1),
39
+        selectInput("secscale", "Scale", 
40
+                    choices=c("y", "sqrt(y)", "log10(y)"), selected="y"),
41
+        checkboxGroupInput("secSectors", "Sectors", 
42
+                           choices=sectors.a, selected = sectors.a),
43
+        checkboxInput("seclegend", "Show legend", value=TRUE),
44
+        checkboxInput("secminc", "Set minimum", value=FALSE),
45
+        conditionalPanel("input.secminc",
46
+                         numericInput("secmin", label=NULL, value=NA)),
47
+        checkboxInput("secmaxc", "Set maximum", value=FALSE),
48
+        conditionalPanel("input.secmaxc",
49
+                         numericInput("secmax", label=NULL, value=NA)),
50
+      width=3),
37
       
51
       
38
       # Main panel ----
52
       # Main panel ----
39
       mainPanel(
53
       mainPanel(
40
         tabsetPanel(id="tabs",
54
         tabsetPanel(id="tabs",
41
-                   tabPanel("by-sector", 
55
+                   tabPanel("By Sector", 
42
                             plotOutput("secPlot")
56
                             plotOutput("secPlot")
43
                             )
57
                             )
44
                     )
58
                     )
50
   SecOverall <- reactive({
64
   SecOverall <- reactive({
51
     st <- gather(Sector.Tot, key="Year",
65
     st <- gather(Sector.Tot, key="Year",
52
                  value="Co2eqv", as.character(1990:2010)) %>% 
66
                  value="Co2eqv", as.character(1990:2010)) %>% 
53
-      mutate(Year = as.numeric(Year), 
54
-             Sector = factor(Sector, levels=unique(Sector)))
55
-    # Add logic for filtering out years, sectors here
67
+      mutate(Year = as.integer(Year), 
68
+             Sector = factor(Sector, levels=unique(Sector))) %>%
69
+    # Logic for filtering out years, sectors here
70
+      filter(Year %in% input$secyears[1]:input$secyears[2], 
71
+             Sector %in% input$secSectors) %>%
72
+      mutate(Year = as.Date(paste0(Year, "-01-01")))
56
     return(st)
73
     return(st)
57
   })
74
   })
58
    
75
    
59
   output$secPlot <- renderPlot({
76
   output$secPlot <- renderPlot({
60
     sov <- SecOverall()
77
     sov <- SecOverall()
61
-    ggplot(sov, aes(x=Year, y=Co2eqv, linetype=Sector, color=Sector)) + 
62
-      geom_line(size=1.5) + guides(linetype=guide_legend(keywidth = 3)) +
63
-      scale_y_log10() -> s.p
78
+    ggplot(sov, aes(x=Year, 
79
+                    y=Co2eqv, linetype=Sector, color=Sector)) -> s.p
80
+    s.p + geom_line(size=1.5, na.rm=TRUE) -> s.p
81
+    s.p + guides(linetype=guide_legend(keywidth = 5)) -> s.p
82
+    s.p + theme_linedraw() -> s.p
83
+    s.p + theme(legend.position = "right", 
84
+                legend.title = element_blank()) -> s.p
85
+    s.p + ylab("CO₂ equivalent (kt)") -> s.p
86
+    if (!input$seclegend) {
87
+      s.p + theme(legend.position="none") -> s.p
88
+    }
89
+    mmx <- c(ifelse(input$secminc, input$secmin, NA),
90
+             ifelse(input$secmaxc, input$secmax, NA))
91
+    if (input$secscale == "sqrt(y)") {
92
+      s.p + scale_y_sqrt(breaks=pretty_breaks(n=5), limits=mmx) -> s.p
93
+    } else if (input$secscale == "log10(y)") {
94
+      s.p + scale_y_log10(breaks=pretty_breaks(n=5), limits=mmx) -> s.p
95
+    } else {
96
+      s.p + scale_y_continuous(breaks=pretty_breaks(n=5), limits=mmx) -> s.p
97
+    }
64
     return(s.p)
98
     return(s.p)
65
   })
99
   })
66
 }
100
 }