小编Con*_*vit的帖子

如何使用 ggplot 绘制矩阵

我不想用 ggplot 绘制矩阵。

这是一些示例代码:

# create a dummy matrix
d2 <- matrix(data=NA,nrow=21,ncol=21,dimnames=list(-10:10,-10:10))
sig <- 3;  mx <- 0; my <- 0;
for (jr in as.numeric(dimnames(d2)[[1]])){
  for (jc in as.numeric(dimnames(d2)[[2]])){
    d2[jr+11,jc+11] <- 1/sig/(2*pi)^.5*exp(-((jr-mx)^2+(jc-my)^2)/2/sig^2)
  }
}

# convert it to dataframe
d2.df <- data.frame(x=rep(as.numeric(dimnames(d2)[[1]]),each=ncol(d2)),y=rep(as.numeric(dimnames(d2)[[2]]),times=nrow(d2)),z=as.vector(d2))

# plot with geom_tiles
library(ggplot2)
ggplot(data=d2.df,aes(x=x,y=y,fill=z))+
  geom_tile()
  
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

可以在不将其转换为数据帧的情况下完成此操作吗?

r matrix ggplot2

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

ggplot2 ×1

matrix ×1

r ×1