This question already has answers here:
Is there a way of manipulating ggplot scale breaks and labels?

(2个答案)


7个月前关闭。




使用以下代码:
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")

我可以按日期获得简单的颜色渐变。但是,图例将它们显示为整数,这没有帮助。如何将这些整数转换回日期以显示在图例上?

我想保留自动限制,以便可以将其用作任何日期范围数据的函数的一部分。

最佳答案

借助于this answer,我已经找到了解决方案。

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)
}

10-07 16:15
查看更多