@@ -12,27 +12,31 @@ test_that("plot_ly() handles a simple scatterplot", {
12
12
})
13
13
14
14
test_that(" Mapping a factor variable to color works" , {
15
- p <- plot_ly(palmerpenguins :: penguins , x = ~ bill_length_mm , y = ~ flipper_length_mm , color = ~ species )
15
+ d <- palmerpenguins :: penguins %> %
16
+ filter(! is.na(bill_length_mm ))
17
+ p <- plot_ly(d , x = ~ bill_length_mm , y = ~ flipper_length_mm , color = ~ species )
16
18
l <- expect_traces(p , 3 , " scatterplot-color-factor" )
17
19
markers <- lapply(l $ data , " [[" , " marker" )
18
20
cols <- unlist(lapply(markers , " [[" , " color" ))
19
21
expect_equivalent(length(cols ), 3 )
20
22
})
21
23
22
24
test_that(" Custom RColorBrewer pallette works for factor variable" , {
25
+ d <- palmerpenguins :: penguins %> %
26
+ filter(! is.na(bill_length_mm ))
23
27
cols <- RColorBrewer :: brewer.pal(9 , " Set1" )
24
28
# convert hex to rgba spec for comparison's sake
25
29
colsToCompare <- toRGB(cols )
26
30
# specifying a pallette set should "span the gamut"
27
- p <- plot_ly(palmerpenguins :: penguins , x = ~ bill_length_mm , y = ~ flipper_length_mm , color = ~ species ,
31
+ p <- plot_ly(d , x = ~ bill_length_mm , y = ~ flipper_length_mm , color = ~ species ,
28
32
colors = " Set1" )
29
33
l <- expect_traces(p , 3 , " scatterplot-color-factor-custom" )
30
34
markers <- lapply(l $ data , " [[" , " marker" )
31
35
colz <- unlist(lapply(markers , " [[" , " color" ))
32
36
idx <- if (packageVersion(" scales" ) > ' 1.0.0' ) c(1 , 2 , 3 ) else c(1 , 5 , 9 )
33
37
expect_identical(sort(colsToCompare [idx ]), sort(colz ))
34
38
# providing vector of RGB codes should also work
35
- p <- plot_ly(palmerpenguins :: penguins , x = ~ bill_length_mm , y = ~ flipper_length_mm , color = ~ species ,
39
+ p <- plot_ly(d , x = ~ bill_length_mm , y = ~ flipper_length_mm , color = ~ species ,
36
40
colors = cols [1 : 3 ])
37
41
l <- expect_traces(p , 3 , " scatterplot-color-factor-custom2" )
38
42
markers <- lapply(l $ data , " [[" , " marker" )
@@ -51,7 +55,9 @@ test_that("Passing hex codes to colors argument works", {
51
55
})
52
56
53
57
test_that(" Mapping a numeric variable to color works" , {
54
- p <- plot_ly(palmerpenguins :: penguins , x = ~ bill_length_mm , y = ~ flipper_length_mm , color = ~ bill_depth_mm )
58
+ d <- palmerpenguins :: penguins %> %
59
+ filter(! is.na(bill_length_mm ))
60
+ p <- plot_ly(d , x = ~ bill_length_mm , y = ~ flipper_length_mm , color = ~ bill_depth_mm )
55
61
# one trace is for the colorbar
56
62
l <- expect_traces(p , 2 , " scatterplot-color-numeric" )
57
63
idx <- vapply(l $ data , is.colorbar , logical (1 ))
@@ -76,14 +82,18 @@ test_that("color/stroke mapping with box translates correctly", {
76
82
})
77
83
78
84
test_that(" Custom RColorBrewer pallette works for numeric variable" , {
79
- p <- plot_ly(palmerpenguins :: penguins , x = ~ bill_length_mm , y = ~ flipper_length_mm ,
85
+ d <- palmerpenguins :: penguins %> %
86
+ filter(! is.na(bill_length_mm ))
87
+ p <- plot_ly(d , x = ~ bill_length_mm , y = ~ flipper_length_mm ,
80
88
color = ~ bill_depth_mm , colors = " Greens" )
81
89
# one trace is for the colorbar
82
90
l <- expect_traces(p , 2 , " scatterplot-color-numeric-custom" )
83
91
})
84
92
85
93
test_that(" axis titles get attached to scene object for 3D plots" , {
86
- p <- plot_ly(palmerpenguins :: penguins , x = ~ bill_length_mm , y = ~ bill_depth_mm , z = ~ flipper_length_mm )
94
+ d <- palmerpenguins :: penguins %> %
95
+ filter(! is.na(bill_length_mm ))
96
+ p <- plot_ly(d , x = ~ bill_length_mm , y = ~ bill_depth_mm , z = ~ flipper_length_mm )
87
97
l <- expect_traces(p , 1 , " scatterplot-scatter3d-axes" )
88
98
expect_identical(l $ data [[1 ]]$ type , " scatter3d" )
89
99
scene <- l $ layout $ scene
0 commit comments