我正在尝试为一系列生成ggplot图形的函数编写一些自动单元测试.
例如,我想为绘图设置特定的色阶.现在我需要一种方法来确定是否实际应用了正确的色标.
下面是一些示例代码,用于设置fill颜色以使用ColourBrewer调色板Dark2:
p <- ggplot(mtcars, aes(x=factor(cyl), y=mpg, fill=factor(gear))) +
geom_bar(stat="identity") +
facet_grid(~gear) +
scale_fill_brewer(palette="Dark2")
print(p)
Run Code Online (Sandbox Code Playgroud)

好的,所以视觉检查告诉我代码有效.
现在我想通过检查对象来确认这一点:
str(p, max.level=1)
List of 8
$ data :'data.frame': 32 obs. of 11 variables:
$ layers :List of 1
$ scales :Reference class 'Scales' [package "ggplot2"] with 1 fields
..and 20 methods, of which 9 are possibly relevant
$ mapping :List of 3
$ options :List of 1
$ coordinates:List of 1
..- attr(*, "class")= …Run Code Online (Sandbox Code Playgroud)