|
@@ -33,12 +33,26 @@ ui <- fluidPage(
|
33
|
33
|
sidebarLayout(
|
34
|
34
|
# Sidebar ----
|
35
|
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
|
52
|
# Main panel ----
|
39
|
53
|
mainPanel(
|
40
|
54
|
tabsetPanel(id="tabs",
|
41
|
|
- tabPanel("by-sector",
|
|
55
|
+ tabPanel("By Sector",
|
42
|
56
|
plotOutput("secPlot")
|
43
|
57
|
)
|
44
|
58
|
)
|
|
@@ -50,17 +64,37 @@ server <- function(input, output) {
|
50
|
64
|
SecOverall <- reactive({
|
51
|
65
|
st <- gather(Sector.Tot, key="Year",
|
52
|
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
|
73
|
return(st)
|
57
|
74
|
})
|
58
|
75
|
|
59
|
76
|
output$secPlot <- renderPlot({
|
60
|
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
|
98
|
return(s.p)
|
65
|
99
|
})
|
66
|
100
|
}
|