更改ggplot2图例中的标签

时间:2015-07-11 07:35:25

标签: r datetime plot ggplot2

我有时间序列数据,我想按日期时间绘制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)))

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

2 个答案:

答案 0 :(得分:1)

您需要使用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)

答案 1 :(得分:0)

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

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