我正在尝试使用 ggplot 创建一个热图来为服务器着色 15 个 cpu 平均值。数据为每天 24 小时,以 15 分钟为增量。如果 CPU 利用率在 20%、30%、40% 等范围内,则需要显示不同的颜色。当我执行以下操作时,我的图表看起来不正确。看起来颜色代表不同的 CPU 利用率。下面是一个示例数据。任何想法,我该如何解决这个问题?
dput(head(y,20))
structure(list(DATE = structure(c(15795, 15795, 15795, 15795,
15795, 15795, 15795, 15795, 15795, 15795, 15795, 15795, 15795,
15795, 15795, 15795, 15795, 15795, 15795, 15795), class = "Date"),
Time = c("20:14", "20:29", "20:44", "20:59", "21:14", "21:29",
"21:44", "21:59", "22:14", "22:29", "22:44", "22:59", "23:14",
"23:29", "23:44", "23:59", "00:14", "00:29", "00:44", "00:59"
), CPU = c(34.2, 34.6, 33.9333333333333, 33.2666666666667,
36.6333333333333, 33.1333333333333, 27.2666666666667, 26.4333333333333,
27, 26.6, 26.3666666666667, 26.5666666666667, 26.0666666666667,
24.9333333333333, 24.9333333333333, 25.3, 28.4857142857143,
23.5, 20.8, 19.2666666666667)), .Names = c("DATE", "Time",
"CPU"), row.names = 2861:2880, class = "data.frame")
pals<-c("#F0FFFF","#F0FFFF","#AEEEEE","#ADD8E6","#00BFFF","green","#E4F224","#C9821E", "#FF0000")
vals<-c(0.19,0.29,0.39,0.49,0.59,0.69,0.79,0.89,0.99)
brk<- c(20, 30, 40, 50, 60, 70, 80, 90, 100)
ggplot(y, aes(DATE, Time, fill=CPU)) + geom_tile() + theme_bw() +
scale_fill_gradientn(name="CPU Utilization", colours=pals,
values=vals,limits=c(0,100), breaks = brk)