tests/testthat/test-plots.R

dat <-
        structure(
                list(
                        ds = structure(
                                c(
                                        1546300800,
                                        1546300800,
                                        1546304400,
                                        1546304400,
                                        1546308000,
                                        1546308000,
                                        1546311600,
                                        1546311600,
                                        1546315200,
                                        1546315200,
                                        1546318800,
                                        1546318800,
                                        1546322400,
                                        1546322400,
                                        1546326000,
                                        1546326000,
                                        1546329600,
                                        1546329600,
                                        1546333200,
                                        1546333200,
                                        1546336800,
                                        1546336800,
                                        1546340400,
                                        1546340400,
                                        1546344000,
                                        1546344000,
                                        1546347600,
                                        1546347600,
                                        1546351200,
                                        1546351200,
                                        1546354800,
                                        1546354800,
                                        1546358400,
                                        1546358400,
                                        1546362000,
                                        1546362000,
                                        1546365600,
                                        1546365600,
                                        1546369200,
                                        1546369200,
                                        1546372800,
                                        1546372800,
                                        1546376400,
                                        1546376400,
                                        1546380000,
                                        1546380000,
                                        1546383600,
                                        1546383600,
                                        1546387200,
                                        1546387200,
                                        1546390800,
                                        1546390800,
                                        1546394400,
                                        1546394400,
                                        1546398000,
                                        1546398000,
                                        1546401600,
                                        1546401600,
                                        1546405200,
                                        1546405200,
                                        1546408800,
                                        1546408800,
                                        1546412400,
                                        1546412400,
                                        1546416000,
                                        1546416000,
                                        1546419600,
                                        1546419600,
                                        1546423200,
                                        1546423200,
                                        1546426800,
                                        1546426800,
                                        1546430400,
                                        1546430400,
                                        1546434000,
                                        1546434000,
                                        1546437600,
                                        1546437600,
                                        1546441200,
                                        1546441200,
                                        1546444800,
                                        1546444800,
                                        1546448400,
                                        1546448400,
                                        1546452000,
                                        1546452000,
                                        1546455600,
                                        1546455600,
                                        1546459200,
                                        1546459200,
                                        1546462800,
                                        1546462800,
                                        1546466400,
                                        1546466400,
                                        1546470000,
                                        1546470000,
                                        1546473600,
                                        1546473600,
                                        1546477200,
                                        1546477200,
                                        1546480800,
                                        1546480800,
                                        1546484400,
                                        1546484400,
                                        1546488000,
                                        1546488000,
                                        1546491600,
                                        1546491600,
                                        1546495200,
                                        1546495200,
                                        1546498800,
                                        1546498800,
                                        1546502400,
                                        1546502400,
                                        1546506000,
                                        1546506000,
                                        1546509600,
                                        1546509600,
                                        1546513200,
                                        1546513200,
                                        1546516800,
                                        1546516800,
                                        1546520400,
                                        1546520400,
                                        1546524000,
                                        1546524000,
                                        1546527600,
                                        1546527600,
                                        1546531200,
                                        1546531200,
                                        1546534800,
                                        1546534800,
                                        1546538400,
                                        1546538400,
                                        1546542000,
                                        1546542000,
                                        1546545600,
                                        1546545600,
                                        1546549200,
                                        1546549200,
                                        1546552800,
                                        1546552800,
                                        1546556400,
                                        1546556400,
                                        1546560000,
                                        1546560000,
                                        1546563600,
                                        1546563600,
                                        1546567200,
                                        1546567200,
                                        1546570800,
                                        1546570800,
                                        1546574400,
                                        1546574400,
                                        1546578000,
                                        1546578000,
                                        1546581600,
                                        1546581600,
                                        1546585200,
                                        1546585200,
                                        1546588800,
                                        1546588800,
                                        1546592400,
                                        1546592400,
                                        1546596000,
                                        1546596000,
                                        1546599600,
                                        1546599600,
                                        1546603200,
                                        1546603200,
                                        1546606800,
                                        1546606800,
                                        1546610400,
                                        1546610400,
                                        1546614000,
                                        1546614000,
                                        1546617600,
                                        1546617600,
                                        1546621200,
                                        1546621200,
                                        1546624800,
                                        1546624800,
                                        1546628400,
                                        1546628400,
                                        1546632000,
                                        1546632000,
                                        1546635600,
                                        1546635600,
                                        1546639200,
                                        1546639200,
                                        1546642800,
                                        1546642800,
                                        1546646400,
                                        1546646400,
                                        1546650000,
                                        1546650000,
                                        1546653600,
                                        1546653600,
                                        1546657200,
                                        1546657200
                                ),
                                class = c("POSIXct",
                                          "POSIXt"),
                                tzone = "UTC"
                        ),
                        .grp = c(
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B",
                                "cat A",
                                "cat B"
                        ),
                        value = c(
                                41176.2161111111,
                                35419.2011111111,
                                44591.2144444444,
                                39778.9911111111,
                                42444.9008333333,
                                38596.7025,
                                41535.5091666667,
                                38288.9888888889,
                                39862.0997222222,
                                36917.8036111111,
                                38315.6188888889,
                                35381.75,
                                37377.9786111111,
                                34425.5463888889,
                                35758.1833333333,
                                33492.8933333333,
                                35801.6363888889,
                                33574.0283333333,
                                37105.2861111111,
                                34621.7091666667,
                                37756.3977777778,
                                35507.9436111111,
                                38816.0480555556,
                                36242.1377777778,
                                39947.0894444444,
                                37188.5408333333,
                                41603.0997222222,
                                38857.6663888889,
                                43385.2602777778,
                                40159.6447222222,
                                44541.9411111111,
                                41438.7288888889,
                                44617.9136111111,
                                40808.4841666667,
                                44098.25,
                                39278.1583333333,
                                41788.7880555556,
                                36580.6233333333,
                                39694.5888888889,
                                35125.2152777778,
                                38120.3108333333,
                                33131.1977777778,
                                36876.7516666667,
                                31683.3655555556,
                                36168.03,
                                31404.8755555556,
                                36952.915,
                                31894.0375,
                                38733.0822222222,
                                35115.6158333333,
                                41400.4211111111,
                                38242.4819444444,
                                40999.1608333333,
                                37992.0530555556,
                                39883.4875,
                                36876.5286111111,
                                38508.4333333333,
                                35971.7336111111,
                                37153.9833333333,
                                34919.3658333333,
                                35450.9983333333,
                                33416.3088888889,
                                32556.9472222222,
                                34854.0872222222,
                                33114.9952777778,
                                35883.2330555556,
                                37839.3758333333,
                                34595.8302777778,
                                39026.4508333333,
                                36028.0222222222,
                                40456.7441666667,
                                37191.6416666667,
                                41892.7522222222,
                                38526.445,
                                44361.8963888889,
                                40901.4202777778,
                                46725.4902777778,
                                42328.3291666667,
                                47643.3066666667,
                                42990.6805555556,
                                47080.3938888889,
                                41911.7958333333,
                                45348.2169444444,
                                39794.5688888889,
                                43225.615,
                                37430.4497222222,
                                41759.7408333333,
                                35848.2236111111,
                                40181.1111111111,
                                34256.1761111111,
                                39381.3077777778,
                                33487.6375,
                                38801.7486111111,
                                32699.6305555556,
                                39163.4119444444,
                                33564.6244444444,
                                40470.75,
                                35315.3702777778,
                                43098.275,
                                38355.9102777778,
                                42017.8836111111,
                                37702.9302777778,
                                41128.6025,
                                37135.5725,
                                39577.1677777778,
                                35855.1138888889,
                                37949.2366666667,
                                34864.1083333333,
                                35959.7022222222,
                                32940.2808333333,
                                35293.6836111111,
                                32103.1836111111,
                                36406.7369444444,
                                32823.7661111111,
                                38271.3977777778,
                                34138.2744444444,
                                39379.5991666667,
                                35399.5833333333,
                                40335.9380555556,
                                36331.0963888889,
                                42285.4941666667,
                                38239.5247222222,
                                45171.0383333333,
                                40492.4961111111,
                                47585.975,
                                42021.45,
                                47908.5113888889,
                                42680.5488888889,
                                47146.3252777778,
                                41229.6230555556,
                                45464.4541666667,
                                38951.3161111111,
                                43267.2411111111,
                                36550.8686111111,
                                41705.0636111111,
                                35109.1855555556,
                                40307.3208333333,
                                33507.4383333333,
                                39633.2638888889,
                                32720.425,
                                39346.2966666667,
                                32296.5577777778,
                                40216.8019444444,
                                33278.1386111111,
                                41155.8097222222,
                                35531.1466666667,
                                43055.3586111111,
                                38256.0547222222,
                                42384.7088888889,
                                38005.0927777778,
                                41611.4955555556,
                                37423.9611111111,
                                40208.5308333333,
                                36323.1072222222,
                                38561.7361111111,
                                35112.1763888889,
                                36572.0272222222,
                                33037.8972222222,
                                36025.1172222222,
                                32572.5925,
                                37480.5341666667,
                                33151.3844444444,
                                39593.6538888889,
                                34864.3641666667,
                                40693.9425,
                                36239.515,
                                42157.3805555556,
                                37474.2969444444,
                                43625.2275,
                                38881.5602777778,
                                45968.1561111111,
                                41152.6691666667,
                                48320.0088888889,
                                42956.8977777778,
                                49074.3677777778,
                                43220.9644444444,
                                47923.6441666667,
                                42019.2169444444,
                                46009.5647222222,
                                39770.6641666667,
                                43572.7836111111,
                                37219.775,
                                41610.2280555556,
                                35313.7808333333,
                                40138.8397222222,
                                33901.9408333333,
                                39510.3033333333,
                                32967.6269444444,
                                44002.9963888889,
                                32339.3202777778,
                                42176.2547222222,
                                33022.1111111111,
                                43144.4033333333,
                                36008.2197222222,
                                44533.5880555556,
                                39210.7283333333,
                                42942.5469444444,
                                38894.6961111111,
                                42195.9722222222,
                                38300.9363888889
                        ),
                        .anomaly = c(
                                1,
                                1,
                                1,
                                1,
                                1,
                                1,
                                1,
                                1,
                                1,
                                1,
                                1,
                                1,
                                1,
                                1,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                1,
                                0,
                                1,
                                1,
                                1,
                                1,
                                1,
                                1,
                                1,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                1,
                                1,
                                1,
                                1,
                                1,
                                1,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0,
                                0
                        ),
                        .tag = c(
                                "spike",
                                "spike",
                                "spike",
                                "spike",
                                "spike",
                                "spike",
                                "spike",
                                "spike",
                                "spike",
                                "spike",
                                "spike",
                                "spike",
                                "spike",
                                "spike",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "trend-change",
                                "",
                                "trend-change",
                                "trend-change",
                                "trend-change",
                                "trend-change",
                                "trend-change",
                                "trend-change",
                                "trend-change",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "variance-shift",
                                "variance-shift",
                                "variance-shift",
                                "variance-shift",
                                "variance-shift",
                                "variance-shift",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                "",
                                ""
                        )
                ),
                row.names = c(NA,
                              -200L),
                class = c("data.table", "data.frame"),
                sorted = "ds")

tags <- unique(dat[.anomaly == 1, ".tag"][[1]])
tag_colors <- 1:length(tags)
names(tag_colors) <- tags
grp_unique_list <- unique(dat[,".grp"])[[1]]
col_list = list(
        "datecol" = "ds",
        "grpcol" = ".grp",
        "valuecol" = "value",
        "tagcol" = ".tag",
        "anomalycol" = ".anomaly",
        "othercols" = ""
)

vdiffr::expect_doppelganger(title = "ts plot - legend + anomaly",
                            fig = ts_plotter(dat = dat, 
                                             col_list = col_list,
                                             plotopts = c("Show Anomalies", "Show Legend"), 
                                             colors = tag_colors,
                                             grp_unique_list = grp_unique_list))
vdiffr::expect_doppelganger(title = "ts plot works - anomaly only",
                            fig = ts_plotter(dat = dat,  
                                             col_list = col_list,
                                             plotopts = c("Show Anomalies"), 
                                             colors = tag_colors,
                                             grp_unique_list = grp_unique_list))
vdiffr::expect_doppelganger(title = "ts plot works - legend only",
                            fig = ts_plotter(dat = dat,  
                                             col_list = col_list,
                                             plotopts = c("Show Legend"), 
                                             colors = tag_colors,
                                             grp_unique_list = grp_unique_list))
rsangole/tslabeler documentation built on April 4, 2020, 8:26 p.m.