我编写了一个返回颜色名称向量的函数:
custom.colors <- function(n) {
palette <- c("dodgerblue1", "skyblue4", "chocolate1", "seagreen4",
"bisque3", "red4", "purple4", "mediumpurple3",
"maroon", "dodgerblue4", "skyblue2", "darkcyan",
"darkslategray3", "lightgreen", "bisque",
"palevioletred1", "black", "gray79", "lightsalmon4",
"darkgoldenrod1")
if (n > length(palette))
warning('palette has duplicated colours')
rep(palette, length.out=n)
}
Run Code Online (Sandbox Code Playgroud)
我希望ggplot默认使用上面的函数来生成调色板.也许只适用于离散尺度.scale_manual()每次使用都太过拖累了.可能吗?
ggplot2的主题化使得很容易降低对多个或重复+ opt()...行的需求.但是,我想知道是否有一种方法来定义geoms和scale颜色的默认值....+ scale_fill_manual()我不想为每个情节写作,而是希望能够设置并忘记它.同样,我希望能够设置geom选项,这样我就不必重新输入(或忘记重新输入)类似的东西geom_text(...,size=3,color="white")
更新:
对于天平,似乎在某种程度上有一种方法:
set_default_scale("colour", "discrete", "grey")
但是这个函数似乎并不存在于最新版本的ggplot2中.