R -更改ggplot2图例中的标签



我有时间序列数据,我想通过datetime绘制x vs y和颜色(梯度),所以我将datetime转换为数字,但问题是它在图例中也需要数字值。

date         x        y
2012-01-01 14:25:00 461.2339 15.83793
2012-01-01 14:30:00 459.8557 15.80326 

代码

ggplot(test1_data,aes(x , y ,colour = as.numeric(date))) +
  geom_point() +
  scale_colour_gradientn(colours=rev(rainbow(6)))

是否有办法编辑图例显示实际日期时间?

需要使用breakslabels。这里有一个例子。您需要更改格式以适应您的实际数据。

library("ggplot2")
test1_data <- read.csv(text = "date,x,y
               2012-01-01 14:25:00,461.2339,15.83793
               2012-01-01 14:30:00,459.8557,15.80326",
               header = TRUE,
               colClasses = c("POSIXct", rep("numeric", 2)))
date_breaks <- diff(range(test1_data$date)) * 0:4 / 4 +
  min(test1_data$date)
date_labels <- format(date_breaks, "%H:%M:%S")
ggplot(test1_data,aes(x , y ,colour = as.numeric(date))) +
    geom_point() +
    scale_colour_gradientn(colours=rev(rainbow(6)),
                           breaks = as.numeric(date_breaks),
                           labels = date_labels)

您应该添加3个参数来覆盖传奇的属性。
1. 传奇标题,2。休息,标签

3.
scale_colour_gradientn("date", colours=rev(rainbow(6)), 
    breaks = as.numeric(test1_data$date), 
    labels = test1_data$date)

相关内容

  • 没有找到相关文章

最新更新