我想为ggplot2制作一个主题,定义在使用一种或多种颜色时要使用的特定调色板。当绘图使用多种颜色时,我知道如何做到这一点(在此处描述:Associate a color palette with ggplot2 theme)。但是,我还希望能够在绘图仅使用单一颜色时使用预设颜色。
我们假设我有这些数据:
library(ggplot2)
set.seed(100)
x <- rnorm(100)
y <- x + rnorm(100, sd=.4)
df <- data.frame(x = x, y = y)
以下主题:
t <- theme_bw()
myColors <- c('red', 'blue', 'black')
s <- scale_color_manual(values = myColors)
myTheme <- list(t, s)
现在我绘制数据:
ggplot(data=df, aes(x=x, y=y)) + geom_point() + myTheme
我得到以下情节:
但是,我希望该图使用myColors
对象中的第一个元素。所以我想得到以下情节(无需明确定义它geom_point()
):
是否可以通过在ggplot2中使用主题定义自定义“主”颜色?
答案 0 :(得分:0)
我不确定这是否适用于您的实际情况,但您可以引入一个虚拟变量来设置颜色如下:
ggplot(data=df, aes(x=x, y=y)) + geom_point(aes(col=factor(1))) + myTheme
要取消图例,请添加+ guides(colour=F)