library('readr')
library('dplyr')
library('ggplot2')
library('ggthemes')
read_data <- function(fn)
{
    read_csv(fn, col_types = 'iniin')
}
#data1834_0_4 <- read_data('decoder-out-hpar_new_1834_0-4.csv')
make_plots <- function(alldata, modelname=waiver()) 
{
    alldata <- filter(alldata, abs(coef) < 4)
    components <- unique(alldata$component)
    lapply(components,
           function(comp) {
               pltdata <- filter(alldata, component==comp) %>% mutate(coef=factor(coef), rgn=paste('rgn', rgn))
               ggplot(data=pltdata, aes(x=hour, y=value, color=coef)) + 
                   geom_line(size=0.5) +
                   facet_wrap(~rgn) +
                   ggtitle(paste('Component',comp), subtitle=modelname) +
                   theme_solarized(light=FALSE) +
                   scale_color_solarized()
           })
}
drawplots <- function(plotlist) {
    for (p in plotlist) {
        print(p)
    }
}

top5nets <- c(net1='1813_0-1', net2='1519_0-7', net3='1400_0-1', net4='1880_0-6', net5='117_0-2')
filenames <- paste0('encoding_',top5nets, '.csv')
modelnames <- paste('model', top5nets)

names(filenames) <- names(top5nets)
datasets <- lapply(filenames, read_data)

all_model_plts <- mapply(make_plots, datasets, modelnames, SIMPLIFY=FALSE)

Model 1 (1813_0-1)

drawplots(all_model_plts$net1)

Model 2 (1519_0-7)

drawplots(all_model_plts$net2)

Model 3 (1400_0-1)

drawplots(all_model_plts$net3)

Model 4 (1880_0-6)

drawplots(all_model_plts$net4)

Model 5 (117_0-2)

drawplots(all_model_plts$net5)

LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKYGBge3Igc2V0dXB9CmxpYnJhcnkoJ3JlYWRyJykKbGlicmFyeSgnZHBseXInKQpsaWJyYXJ5KCdnZ3Bsb3QyJykKbGlicmFyeSgnZ2d0aGVtZXMnKQpgYGAKCmBgYHtyIHJlYWRkYXRhfQpyZWFkX2RhdGEgPC0gZnVuY3Rpb24oZm4pCnsKICAgIHJlYWRfY3N2KGZuLCBjb2xfdHlwZXMgPSAnaW5paW4nKQp9CiNkYXRhMTgzNF8wXzQgPC0gcmVhZF9kYXRhKCdkZWNvZGVyLW91dC1ocGFyX25ld18xODM0XzAtNC5jc3YnKQpgYGAKCmBgYHtyIG1ha2VwbG90c30KbWFrZV9wbG90cyA8LSBmdW5jdGlvbihhbGxkYXRhLCBtb2RlbG5hbWU9d2FpdmVyKCkpIAp7CiAgICBhbGxkYXRhIDwtIGZpbHRlcihhbGxkYXRhLCBhYnMoY29lZikgPCA0KQogICAgY29tcG9uZW50cyA8LSB1bmlxdWUoYWxsZGF0YSRjb21wb25lbnQpCiAgICBsYXBwbHkoY29tcG9uZW50cywKICAgICAgICAgICBmdW5jdGlvbihjb21wKSB7CiAgICAgICAgICAgICAgIHBsdGRhdGEgPC0gZmlsdGVyKGFsbGRhdGEsIGNvbXBvbmVudD09Y29tcCkgJT4lIG11dGF0ZShjb2VmPWZhY3Rvcihjb2VmKSwgcmduPXBhc3RlKCdyZ24nLCByZ24pKQogICAgICAgICAgICAgICBnZ3Bsb3QoZGF0YT1wbHRkYXRhLCBhZXMoeD1ob3VyLCB5PXZhbHVlLCBjb2xvcj1jb2VmKSkgKyAKICAgICAgICAgICAgICAgICAgIGdlb21fbGluZShzaXplPTAuNSkgKwogICAgICAgICAgICAgICAgICAgZmFjZXRfd3JhcCh+cmduKSArCiAgICAgICAgICAgICAgICAgICBnZ3RpdGxlKHBhc3RlKCdDb21wb25lbnQnLGNvbXApLCBzdWJ0aXRsZT1tb2RlbG5hbWUpICsKICAgICAgICAgICAgICAgICAgIHRoZW1lX3NvbGFyaXplZChsaWdodD1GQUxTRSkgKwogICAgICAgICAgICAgICAgICAgc2NhbGVfY29sb3Jfc29sYXJpemVkKCkKICAgICAgICAgICB9KQp9CmBgYAoKYGBge3IgdG9wNX0KZHJhd3Bsb3RzIDwtIGZ1bmN0aW9uKHBsb3RsaXN0KSB7CiAgICBmb3IgKHAgaW4gcGxvdGxpc3QpIHsKICAgICAgICBwcmludChwKQogICAgfQp9Cgp0b3A1bmV0cyA8LSBjKG5ldDE9JzE4MTNfMC0xJywgbmV0Mj0nMTUxOV8wLTcnLCBuZXQzPScxNDAwXzAtMScsIG5ldDQ9JzE4ODBfMC02JywgbmV0NT0nMTE3XzAtMicpCmZpbGVuYW1lcyA8LSBwYXN0ZTAoJ2VuY29kaW5nXycsdG9wNW5ldHMsICcuY3N2JykKbW9kZWxuYW1lcyA8LSBwYXN0ZSgnbW9kZWwnLCB0b3A1bmV0cykKCm5hbWVzKGZpbGVuYW1lcykgPC0gbmFtZXModG9wNW5ldHMpCmRhdGFzZXRzIDwtIGxhcHBseShmaWxlbmFtZXMsIHJlYWRfZGF0YSkKCmFsbF9tb2RlbF9wbHRzIDwtIG1hcHBseShtYWtlX3Bsb3RzLCBkYXRhc2V0cywgbW9kZWxuYW1lcywgU0lNUExJRlk9RkFMU0UpCmBgYAoKIyMjIE1vZGVsIDEgKGByIHRvcDVuZXRzWyduZXQxJ11gKQpgYGB7ciwgZmlnLmhlaWdodD04LCBmaWcud2lkdGg9MTB9CmRyYXdwbG90cyhhbGxfbW9kZWxfcGx0cyRuZXQxKQpgYGAKCiMjIyBNb2RlbCAyIChgciB0b3A1bmV0c1snbmV0MiddYCkKYGBge3IsIGZpZy5oZWlnaHQ9OCwgZmlnLndpZHRoPTEwfQpkcmF3cGxvdHMoYWxsX21vZGVsX3BsdHMkbmV0MikKYGBgCgojIyMgTW9kZWwgMyAoYHIgdG9wNW5ldHNbJ25ldDMnXWApCmBgYHtyLCBmaWcuaGVpZ2h0PTgsIGZpZy53aWR0aD0xMH0KZHJhd3Bsb3RzKGFsbF9tb2RlbF9wbHRzJG5ldDMpCmBgYAoKIyMjIE1vZGVsIDQgKGByIHRvcDVuZXRzWyduZXQ0J11gKQpgYGB7ciwgZmlnLmhlaWdodD04LCBmaWcud2lkdGg9MTB9CmRyYXdwbG90cyhhbGxfbW9kZWxfcGx0cyRuZXQ0KQpgYGAKCiMjIyBNb2RlbCA1IChgciB0b3A1bmV0c1snbmV0NSddYCkKYGBge3IsIGZpZy5oZWlnaHQ9OCwgZmlnLndpZHRoPTEwfQpkcmF3cGxvdHMoYWxsX21vZGVsX3BsdHMkbmV0NSkKYGBgCgo=