ggplot2 heatmap:侧边距和颜色图例

时间:2016-12-14 16:50:05

标签: r ggplot2 heatmap correlation

以下代码用于在ggplot2

中生成相关矩阵热图
  set.seed(1)
  n  <- 10
  p  <- 100
  X  <- matrix(rnorm(n*p), ncol=p)
  R  <- cor(X)

  library("reshape2")
  x    <- melt(R)
  colnames(x) <- c('row', 'col', 'cor') 

  library("ggplot2")
  HM <- ggplot(x, aes(x=row, y=col, fill = cor)) + geom_tile()
  HM <- HM + scale_fill_gradient2(low='red', mid ='white', high ='blue', midpoint=0, guide = "colourbar")
  HM <- HM  + scale_x_discrete(expand = c(0, 0))
  HM <- HM  + scale_y_discrete(expand = c(0, 0))
  HM <- HM  + coord_equal()
  HM <- HM  + labs(title = "Correlation Matrix") [![enter image description here][1]][1]
  HM <- HM  + theme(plot.title = element_text(hjust = 0.5), 
    axis.text=element_blank(), 
    axis.ticks=element_blank(),
    axis.title=element_blank(),
    plot.margin = unit(c(0,0,0,0), "cm"))
  print(HM)

代码生成以下图片

correlation matrix heatmap

很好,但我有两个问题

  1. 当我打印pdf时,白边的边缘是浪费空间,特别是当我把图形连成一行时。我尝试在mar中使用omapar()参数,但这不会产生任何差异。

  2. 右侧的图例不包括范围[-1,1],这是因为矩阵中的最小相关性大于-1。但是我仍然想要使用传奇来编码整个范围[-1,1]

  3. 如果可能的话,我想让传说框在顶部而不是在垂直轴的中心对齐,我的意思是我喜欢它从东北角开始向下。< / p>

  4. 有什么想法吗?

    干杯 皮埃尔

0 个答案:

没有答案