Browse Source

Basic graph

Petra Lamborn 5 years ago
parent
commit
b97d4e01d9
1 changed files with 40 additions and 2 deletions
  1. 40
    2
      app.R

+ 40
- 2
app.R View File

@@ -8,23 +8,61 @@ Emissions.Sector <- read_excel("Emissions1990-2010.xlsx",
8 8
                                         sheet = "Sector")
9 9
 Emissions.Fuel <- read_excel("Emissions1990-2010.xlsx", 
10 10
                              sheet = "Fuel")
11
+Sector.Tot <- filter(Emissions.Sector, Source == "Total")
11 12
 
12
-# Define UI for application that draws a histogram
13
+sectors.a <- unique(Emissions.Sector$Sector)
14
+sectors <- unique(Emissions.Sector$Sector)[-1]
15
+
16
+# gather(comf, key="Year", value="Co2eqv", as.character(1990:2010))
17
+
18
+Sector.Fuels <- function(sector) {
19
+  sf <- filter(Emissions.Sector,  Sector == sector)
20
+  if (nrow(sf) > 1) {
21
+    sf <- filter(sf, !grepl("Total", Source))
22
+  }
23
+  return(sf)
24
+}
25
+
26
+
27
+
28
+# UI ----
13 29
 ui <- fluidPage(
14 30
    
15
-   titlePanel("NZ emissions 1990-2010"),
31
+   titlePanel("NZ greenhouse gas emissions 1990-2010"),
16 32
    
17 33
    sidebarLayout(
34
+      # Sidebar ----
18 35
       sidebarPanel(
19 36
       ),
20 37
       
38
+      # Main panel ----
21 39
       mainPanel(
40
+        tabsetPanel(id="tabs",
41
+                   tabPanel("by-sector", 
42
+                            plotOutput("secPlot")
43
+                            )
44
+                    )
22 45
       )
23 46
    )
24 47
 )
25 48
 
26 49
 server <- function(input, output) {
50
+  SecOverall <- reactive({
51
+    st <- gather(Sector.Tot, key="Year",
52
+                 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
56
+    return(st)
57
+  })
27 58
    
59
+  output$secPlot <- renderPlot({
60
+    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
64
+    return(s.p)
65
+  })
28 66
 }
29 67
 
30 68
 shinyApp(ui = ui, server = server)