R ggplot2按日期渐变的颜色

5

使用以下代码:

myPlot <- ggplot(data=df, aes(x=xVal, y=yVal, color=as.integer(Date) ) ) +
    geom_point() +
    scale_colour_gradient(low="blue", high="red" ) +
    labs(color="Date")

我可以通过日期获得简单的颜色渐变。然而,图例显示为整数,这并不重要。如何将这些整数转换回日期以在图例上显示?

我希望保留自动限制,这样我就可以将其作为任何日期范围数据的一部分来使用。

1个回答

3

借助这个答案的帮助,我已经找到了解决方案。

myPlot <- ggplot(data=df, aes(x=xVal, y=yVal, color=as.integer(Date) ) ) +
    geom_point() +
    scale_colour_gradient(low="blue", high="red" breaks=myBreaks) +
    labs(color="Date")

myBreaks <- function(x){
    breaks <- c(min(x),median(x),max(x))
    attr(breaks,"labels") <- as.Date(breaks, origin="1970-01-01")
    names(breaks) <- attr(breaks,"labels")
    return(breaks)
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接