library(pttrobo) library(tidyverse)
# alustetaan piirtäjä piirtaja <- pttrobo::ptt_plot() # piirrettävä data (esimerkin vuoksi, otettu sekä kausitasoitettu että trendisarja) df <- robonomistClient::data("StatFin/kan/ntp/statfin_ntp_pxt_132h.px", tidy_time=TRUE) %>% filter(str_detect(Taloustoimi, "B1GMH")) %>% filter(Tiedot %in% c("Kausitasoitettu ja työpäiväkorjattu sarja, viitevuosi 2015, miljoonaa euroa", "Trendisarja, viitevuosi 2015, miljoonaa euroa")) #https://www.ptt.fi/layout/img/ptt-logo.pn # lines funktion avulla voi piirtää useamman sarjan "grouping_variable" hyödyntäen df |> piirtaja$lines( grouping_variable = Tiedot, title = "BKT", subtitle = "Vertailu kausitasoitettuun sarjaan", lahde = "Lähde: Tilastokeskus.", yksikko = "€" )
# yksittäinen sarja voidaan piirtää funktion "line" avulla df %>% filter(Tiedot == "Kausitasoitettu ja työpäiväkorjattu sarja, viitevuosi 2015, miljoonaa euroa") |> piirtaja$line( title = "BKT", lahde = "Lähde: Tilastokeskus." )
# example: df <- robonomistClient::data("StatFin/kan/ntp/statfin_ntp_pxt_132h.px", tidy_time = TRUE) %>% filter(str_detect(Taloustoimi, "B1GMH")) %>% filter(Tiedot %in% c("Kausitasoitettu ja työpäiväkorjattu sarja, viitevuosi 2015, miljoonaa euroa")) %>% mutate(value = ((value/ lag(value, 4)) -1) * 100) %>% drop_na() df %>% filter(Tiedot == "Kausitasoitettu ja työpäiväkorjattu sarja, viitevuosi 2015, miljoonaa euroa") %>% filter(time > as.Date("2010-01-01")) |> piirtaja$line_with_preds( excel_path = "ptt_ennusteet_KT.xlsx", serie_name = "StatFin/kan/ntp/statfin_ntp_pxt_132h.px§B1GMH§kausitvv2015", lahde = "Lähde: Tilastokeskus." ) "serie identifier: StatFin/kan/ntp/statfin_ntp_pxt_132h.px§P3KS14_S15§kausitvv2015"
## df2 <- robonomistClient::data("StatFin/kan/ntp/statfin_ntp_pxt_132h.px", tidy_time = TRUE) %>% ## filter(str_detect(Taloustoimi, "P3KS14_S15")) %>% ## filter(Tiedot == "Kausitasoitettu ja työpäiväkorjattu sarja, viitevuosi 2015, miljoonaa euroa") %>% ## mutate(value = ((value/ lag(value, 4)) -1) * 100) %>% ## drop_na() ## df2 |> ## filter(time > as.Date("2010-01-01")) |> ## piirtaja$line_with_preds( ## excel_path = "ptt_ennusteet_KT.xlsx", ## serie_name = "StatFin/kan/ntp/statfin_ntp_pxt_132h.px§P3KS14_S15§kausitvv2015", ## lahde = "Tilastokeskus" ## ) ## # ESIMERKKI KUN 2 SARJAA ENNUSTEINEEN ## excel_path <- "ptt_ennusteet_KT.xlsx" ## serie_names <- c("StatFin/kan/ntp/statfin_ntp_pxt_132h.px§B1GMH§kausitvv2015", ## "StatFin/kan/ntp/statfin_ntp_pxt_132h.px§P3KS14_S15§kausitvv2015") ## # labels, poimitaan excelistä sarjan nimen perusteella. Käytetään apufunktiota. ## labels <- piirtaja$labels_from_excel(excel_path = excel_path, ## serie_name = serie_names[1]) ## # Alustetaan 1. datasarja tarvittavine muuttujineen ## # datan yksilöivä tunniste: "StatFin/kan/ntp/statfin_ntp_pxt_132h.px§B1GMH§kausitvv2015" ## d1 <- ## robonomistClient::data("StatFin/kan/ntp/statfin_ntp_pxt_132h.px", tidy_time = TRUE) %>% ## filter(str_detect(Taloustoimi, "B1GMH")) %>% ## filter(Tiedot %in% c("Kausitasoitettu ja työpäiväkorjattu sarja, viitevuosi 2015, miljoonaa euroa")) %>% ## mutate(value = ((value/ lag(value, 4)) -1) * 100) %>% ## drop_na() ## d1_ennusteet <- piirtaja$ennusteet_from_excel("ptt_ennusteet_KT.xlsx", serie_names[1]) ## serie_name_1 <- piirtaja$serie_name_from_excel("ptt_ennusteet_KT.xlsx", serie_names[1]) ## # Alustetaan 2. datasarja tarvittavine muuttujinee ## # datasarjan yksilöivä nimi: StatFin/kan/ntp/statfin_ntp_pxt_132h.px§P3KS14_S15§kausitvv2015 ## d2 <- robonomistClient::data("StatFin/kan/ntp/statfin_ntp_pxt_132h.px", tidy_time = TRUE) %>% ## filter(str_detect(Taloustoimi, "P3KS14_S15")) %>% ## filter(Tiedot %in% c("Kausitasoitettu ja työpäiväkorjattu sarja, viitevuosi 2015, miljoonaa euroa")) %>% ## mutate(value = ((value/ lag(value, 4)) -1) * 100) %>% ## drop_na() ## d2_ennusteet <- ennuste_time_serie_from_excel(excel_path, serie_names[2]) ## serie_name_2 <- serie_name_from_excel(excel_path, serie_names[2]) ## piirtaja$two_lines_with_preds( ## labels = labels, d1=d1, d1_ennusteet=d1_ennusteet, serie_name_1 = serie_name_1, ## d2=d2, d2_ennusteet=d2_ennusteet, serie_name_2 = serie_name_2, ## rounding= 2)
# ESIMERKKI KÄYTTÄEN YAML TIEDOSTOA KUVION SPEKSAUKSEEN library(pttrobo) library(tidyverse) # alustetaan piirtäjä piirtaja <- pttrobo::ptt_plot() # muodostetaan kuvion käyttämä historiadata ja määritykset käyttäen yaml tiedostoa file_path <- system.file("ennustekuvat/test_without_ennusteet.yaml", package="pttrobo") kuvion_nimi = "bkt_ja_kulutus" kuvio_spec <- pttrobo::yaml_to_plotly_data(file=file_path, kuvion_nimi=kuvion_nimi) # haetaan kuvion käyttämä ennustedata # kuviossa on sekä bkt että kulutus sarja. Seuraavassa Serie 1 on bkt ja serie 2 kulutus. ennustedata_path <- "ptt_ennusteet_KT.xlsx" ennustedata_serie_name_1 <- "StatFin/kan/ntp/statfin_ntp_pxt_132h.px§B1GMH§kausitvv2015" ennustedata_serie_name_2 <- "StatFin/kan/ntp/statfin_ntp_pxt_132h.px§P3KS14_S15§kausitvv2015" ennustedata_serie_1 <- pttrobo::ennuste_time_serie_from_excel(ennustedata_path, ennustedata_serie_name_1) ennustedata_serie_2 <- pttrobo::ennuste_time_serie_from_excel(ennustedata_path, ennustedata_serie_name_2) # piirretään kuvio. Huom. Tehdään transform_data funktiolla tarvittaessa vuosimuutos transformaatio piirtaja$two_lines_with_preds(d1 = yearly_change(kuvio_spec$datas$data_1$data), d1_ennusteet = ennustedata_serie_1, serie_name_1 = kuvio_spec$datas$data_1$serie_name, d2 = yearly_change(kuvio_spec$datas$data_2$data), d2_ennusteet = ennustedata_serie_2, serie_name_2 = kuvio_spec$datas$data_2$serie_name, labels = kuvio_spec$labels)
# 2. ESIMERKKI KÄYTTÄEN YAML TIEDOSTOA KUVION SPEKSAUKSEEN. # Käytetään nyt haku_id:tä yaml tiedostosta Excel ennusteisiin "mäppäämiseen" # id:n muoto excelissä ptt_ennusteet_KT_uusi_sarja_id.xlsx library(pttrobo) library(tidyverse) # alustetaan piirtäjä piirtaja <- pttrobo::ptt_plot() # muodostetaan kuvion käyttämä historiadata ja määritykset käyttäen yaml tiedostoa file_path <- system.file("ennustekuvat/test_without_ennusteet.yaml", package="pttrobo") kuvion_nimi = "bkt_ja_kulutus" kuvio_spec <- pttrobo::yaml_to_plotly_data(file=file_path, kuvion_nimi=kuvion_nimi) # piirretään kuvio. Huom. Tehdään transform_data funktiolla tarvittaessa vuosimuutos transformaatio piirtaja$two_lines_with_preds( d1 = yearly_change(kuvio_spec$datas$data_1$data), d1_ennusteet = pttrobo::ennuste_time_serie_from_excel("ptt_ennusteet_KT_uusi_sarja_id.xlsx", kuvio_spec$datas$data_1$datahaku_id), serie_name_1 = kuvio_spec$datas$data_1$serie_name, d2 = yearly_change(kuvio_spec$datas$data_2$data), d2_ennusteet = pttrobo::ennuste_time_serie_from_excel("ptt_ennusteet_KT_uusi_sarja_id.xlsx", kuvio_spec$datas$data_2$datahaku_id), serie_name_2 = kuvio_spec$datas$data_2$serie_name, labels = kuvio_spec$labels ) # kuvion voi piirtää myös automatisoidummin tarjoamalla data specsit sekä polun ennuste-exceliin joka koodattu datahaku id:llä piirtaja$two_lines_with_preds( dataspec_1 = kuvio_spec$datas$data_1, dataspec_2 = kuvio_spec$datas$data_2, ennuste_path = "ptt_ennusteet_KT_uusi_sarja_id.xlsx", labels = kuvio_spec$labels )
# 3. esimerkki. Kuvion voi piirtää vielä automatisoidummin # parametreina pelkästään yaml tiedoston polkua sekä ennuste-excelin polkua. # käytetään draw_ennuste funktiota, joka tarvitsee parametreikseen: # yaml_path (polku kuvion/kuviot spesifioivaan yaml tiedostoon) # yaml_kuvion_nimi (yaml tiedostossa annettu nimi kuvion speksille) # excel_path (polku ennuste-exceliin) # optional from_year (rajaa näytettävät vuodet alkamaan tästä vuodesta) library(pttrobo) draw_ennuste(yaml_path= system.file("ennustekuvat/test_without_ennusteet.yaml", package="pttrobo"), yaml_kuvion_nimi = "bkt_ja_kulutus", excel_path = "ptt_ennusteet_KT_uusi_sarja_id.xlsx") # rajataan graafi 2015 vuodesta eteenpäin draw_ennuste( yaml_path= system.file("ennustekuvat/test_without_ennusteet.yaml", package="pttrobo"), yaml_kuvion_nimi = "bkt_ja_kulutus", excel_path = "ptt_ennusteet_KT_uusi_sarja_id.xlsx", from_year = 2015 )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.