我想绘制一个非常简单的线图(实际上是时间序列图)。我唯一想要的是线条不是黑色而是使用的默认色轮的第一种颜色ggplot2
(即替换默认的“黑色”---可能在某处指定---用第一种颜色默认 ggplot2 调色板)。
我只提出了一个非优雅的版本,我手动指定了第一种颜色的 HCL 值 ( hcl(h=15, l=65, c=100)
) - 感谢此答案中的信息:https ://stackoverflow.com/a/8197703/1477035
没有更优雅的方式吗?我还考虑过包含一个只有一个值的因子变量,然后指定colour=as.factor(MyFactorVariable)
,但这会na.rm = T
以某种方式搞砸(因为我需要在 NA 出现的行中有间隙)。
数据样本:
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
这给出了: