+ Show code- Hide code
library(OpasnetUtils)
library(quiltr)
library(plotly)
library(ggplot2)
objects.latest("Op_en6007", code_name="hnh2035") # [[OpasnetUtils/Drafts]] combineLines, pushIndicatorGraph
dat <- qload("jyrjola/hsy", "pks_khk_paastot")
dat <- dat[dat$Kaupunki=="Helsinki" , ]
dat <- as.data.frame(dat)
teeplotly <- function(dat,sector,title) {
emis <- as.data.frame(dat)
emis$Sector <- emis[[sector]]
emis <- aggregate(emis["Päästöt"], emis[c("Vuosi","Sector")], sum)
tmp <- aggregate(emis["Päästöt"],emis["Vuosi"],sum)
pred <- rbind(
data.frame(
Vuosi=c(2000,2035),
Tyyppi="toteuma",
Paastot = predict(
lm(Päästöt ~ Vuosi, data=tmp[tmp$Vuosi!=1990,]),
newdata=data.frame(Vuosi=c(2000,2035))
)
),
data.frame(
Vuosi=c(2017,2035),
Tyyppi="tavoite",
Paastot= c(
tmp$Päästöt[tmp$Vuosi==2017],
tmp$Päästöt[tmp$Vuosi==1990]*0.2)
)
)
emis <- emis[emis$Vuosi!=1990,]
p_emis <- plot_ly() %>%
add_trace(
x = ~emis$Vuosi, y = ~emis$Päästöt, type = 'bar',
color = ~emis$Sector, legendgroup="mitattu") %>%
# add_trace( # This is commented out because it causes an error in push process
# x = ~pred$Vuosi, y = ~pred$Paastot,
# linetype = ~pred$Tyyppi, mode='lines',
# type = 'scatter', legendgroup = "ennuste") %>%
layout(
barmode="stack",
title=title,
xaxis=list(title="Vuosi"),
yaxis=list(title="Päästö CO2e kton/a")
)
return(p_emis)
}
# p <- teeplotly(dat,"Sektori1","Kasvihuonekaasupäästöt Helsingissä sektoreittain")
# pushIndicatorGraph(p, paste0(urli,6,"/"))
p <- teeplotly(dat[dat$Sektori1=="Liikenne",],"Sektori2","Liikenteen kasvihuonekaasupäästöt Helsingissä")
pushIndicatorGraph(p, 24)
p <- teeplotly(dat[dat$Sektori2=="Tieliikenne",],"Sektori3","Tieliikenteen kasvihuonekaasupäästöt Helsingissä")
pushIndicatorGraph(p, 23)
p <- teeplotly(dat[dat$Sektori2 %in% c("Raideliikenne","Laivaliikenne"),],"Sektori3","Raide- ja laivaliikenteen kasvihuonekaasupäästöt Helsingissä")
pushIndicatorGraph(p, 67)
p <- teeplotly(dat[dat$Sektori3=="Henkilöautot",],"Sektori4","Henkilöautojen kasvihuonekaasupäästöt Helsingissä")
pushIndicatorGraph(p, 11)
p <- teeplotly(dat[dat$Sektori1=="Sähkö",],"Sektori2","Sähköntuotannon kasvihuonekaasupäästöt Helsingissä")
pushIndicatorGraph(p, 30)
p <- teeplotly(dat[dat$Sektori1=="Lämmitys",],"Sektori2","Lämmöntuotannon kasvihuonekaasupäästöt Helsingissä")
pushIndicatorGraph(p, 25)
p <- teeplotly(dat[dat$Sektori2=="Öljylämmitys",],"Sektori4","Öljylämmityksen kasvihuonekaasupäästöt Helsingissä")
pushIndicatorGraph(p, 35)
# teeplotly(dat[dat$Sektori1=="Teollisuus ja työkoneet",],"Sektori2","Teollisuuden kasvihuonekaasupäästöt Helsingissä")
# teeplotly(dat[dat$Sektori1=="Maatalous",],"Sektori2","Maatalouden kasvihuonekaasupäästöt Helsingissä")
# teeplotly(dat[dat$Sektori1=="Jätteiden käsittely",],"Sektori2","Jätteenkäsittelyn kasvihuonekaasupäästöt Helsingissä")
p <- teeplotly(dat[dat$Sektori1 %in% c("Teollisuus ja työkoneet","Maatalous","Jätteiden käsittely"),],"Sektori2","Teollisuuden, jätteenkäsittelyn ja maatalouden kasvihuonekaasupäästöt Helsingissä")
pushIndicatorGraph(p, 66)
| |