R 在ggplot2中始终使用第一种默认颜色而不是黑色

R 在ggplot2中始终使用第一种默认颜色而不是黑色,r,ggplot2,R,Ggplot2,我想画一个非常简单的直线图(实际上是时间序列图)。我唯一希望的是线条不是以黑色显示,而是以ggplot2使用的默认色轮的第一种颜色显示(即,用默认ggplot2调色板的第一种颜色替换默认的“黑色”——可能在某处指定) 我只提出了一个非优雅的版本,其中我手动指定第一种颜色的HCL值(HCL(h=15,l=65,c=100))-感谢此答案中的信息: 难道没有更优雅的方式吗?我还考虑过包含一个只有一个值的因子变量,然后指定color=as.factor(MyFactorVariable),但这会在某种

我想画一个非常简单的直线图(实际上是时间序列图)。我唯一希望的是线条不是以黑色显示,而是以
ggplot2
使用的默认色轮的第一种颜色显示(即,用默认ggplot2调色板的第一种颜色替换默认的“黑色”——可能在某处指定)

我只提出了一个非优雅的版本,其中我手动指定第一种颜色的HCL值(
HCL(h=15,l=65,c=100)
)-感谢此答案中的信息:

难道没有更优雅的方式吗?我还考虑过包含一个只有一个值的因子变量,然后指定
color=as.factor(MyFactorVariable)
,但这会在某种程度上弄乱
na.rm=T
(因为我需要在NAs出现的行中留有间隙)

数据样本:

structure(list(Date = structure(c(15701, 15702, 15703, 15704, 
15705, 15706, 15707, 15708, 15709, 15710, 15711, 15712, 15713, 
15714, 15715, 15716, 15717, 15718, 15719, 15720, 15721, 15722, 
15723, 15724, 15725, 15726, 15727, 15728, 15729, 15730, 15731, 
15732, 15733, 15734, 15735, 15736, 15737, 15738, 15739, 15740
), class = "Date"), Additions = c(398L, 212L, 171L, 133L, 124L, 
99L, 105L, 103L, 99L, 101L, 104L, 102L, 99L, 70L, 76L, 95L, 51L, 
76L, 76L, 65L, 73L, 84L, 71L, 82L, 47L, 78L, 65L, 73L, 79L, 64L, 
45L, NA, NA, NA, NA, NA, NA, NA, 149L, 198L)), .Names = c("Date", 
"Additions"), row.names = c(NA, 40L), class = "data.frame")
代码:

p <- ggplot(data, aes(Date, Additions), na.rm = T) 
p <- p + geom_line(colour=hcl(h=15, l=65, c=100)) + scale_x_date(labels = date_format("%B")) 
p <- p + xlab("Date of addition") + ylab("Daily additions to user database") 
p <- p + theme_minimal() + theme(plot.margin = unit(c(1,1,1,1), "cm"), 
                        axis.title.x = element_text(vjust=-1),
                        axis.title.y = element_text(angle=90, vjust=0),
                        panel.grid.minor = element_blank(),
                        plot.background = element_rect(fill = rgb(0.99,0.99,0.99))
                        ) 

p

p这足够优雅吗

ggdefault_cols <- function(n) hcl(h=seq(15, 375-360/n, length=n)%%360, 
                                  c=100, l=65)

#First 4 ggplot default colours:
ggdefault_cols(4)
#[1] "#F8766D" "#7CAE00" "#00BFC4" "#C77CFF"

ggplot(data, aes(Date, Additions), na.rm = T) + 
        geom_line(colour=ggdefault_cols(1))

ggdefault\u cols您是否尝试过
geom\u line(color=“red”)
或黑色以外的任何值。。?PS:如果你能提供
dput(你的_数据)
outputI我已经试过了,但这肯定不是比
color=hcl(h=15,l=65,c=100)
的改进,它只是把颜色改成我不想要的刺眼的红色。我添加了数据,谢谢你的提示。你要求的是它自己选择一种你喜欢的颜色。。。怎么可能呢?如果你想要自己选择的颜色,你可以用十六进制格式得到你想要的颜色,然后把它添加到颜色中。如果您想根据因子列的级别生成多个颜色,则可以执行以下操作:
geom\u line(aes(color=my\u factor\u column))
。不,这不是我的问题。我的问题是如何一般使用ggplot2默认颜色的第一种颜色而不是默认黑色,而不必手动指定。如果这是不可能的,我将不得不坚持使用
color=hcl(h=15,l=65,c=100)
。如果没有提供颜色美学,则默认颜色为“黑色”。如果您需要其他颜色,请指定它。但是你生成它的方式是不必要的,因为你只使用了一种颜色。看看,也许这就是你要找的。。。