gpt4 book ai didi

r - 具有离散值的热图/图像

转载 作者:行者123 更新时间:2023-12-04 04:58:44 25 4
gpt4 key购买 nike

我有一个数据框,它包含该日期的日期和状态。状态范围从 -1 到 2。我想创建一个热图(按一周中的天数和一年中的周数分组),这不是问题。

我的问题是我想要以下颜色映射:

-1 => gray
0 => white
1 => blue
2 => green

有什么想法吗?谢谢!

编辑:
根据下面的要求提供示例代码,我会这样做,但它对我不起作用:
breaks <- seq(-2,2,1)
pal <- c("gray","white","green","blue")
data <- sample(-1:2, 5*6, replace=T)
m <- matrix(unlist(data),ncol=6)
m
image(m,
col = c("gray","white","green","blue"),
breaks = c(-2,-1,0,1,2)
)

最佳答案

以下似乎做你想要的:

set.seed(14)
a<-matrix(floor(runif(21)*4)-1,nrow=7)
col<-c("grey","white","blue","green")
image(1:8,1:4,a,col=col)

对于 gplot 版本:
#color scale
col<-c("red","orange","grey","lightblue","darkblue")
#creating the dataframe for 3 example weeks
(d<-t(matrix(c(1,1,2,3,2,3,4,
2,1,2,2,3,4,4,
5,3,2,4,5,4,5),nrow=3,byrow=TRUE)))
df<-data.frame(day=rep(1:7,3),week=rep(1:3,each=7),werte=as.numeric(d))
#the ggplot
p<-ggplot(df,aes(x=day,y=max(df$week)+1-week))+
#tile layer
geom_tile(aes(fill=factor(werte))) +
#setting the color
scale_fill_manual(
values=col,
breaks=c("1","2","3","4","5"),
labels=c("one","two","three","four","five"))

p

关于r - 具有离散值的热图/图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16415957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com