【问题标题】:Faceted heatmap plot in RR中的多面热图
【发布时间】:2020-07-23 02:12:09
【问题描述】:

我想在 R 中构建一个多面热图。为此,我附上了我的示例代码。一切正常,但我面临的唯一问题是我不希望这些位置按字母顺序排列。请看一下代码和图。我需要位置序列是 purulia,bankura,jhargram 而不是 bankura, jhargram,purulia

 df <- data.frame(chr=c("SWAT","SWAT","VIC","VIC","MOD16A2","MOD16A2"),
                 year=c("2001_K","2002_K","2001_K","2002_K","2001_K","2002_K"),                 
                 purulia=c(-12,0.56,-0.35,0.49,0.11,0.23),
                 bankura=c(-43,-0.56,0.35,0.74,-0.11,0.89),
                 jhargram=c(0.13,-0.12,-0.41,0.16,-0.69,0.42))
df.l <- reshape(df, [enter image description here][1]
                varying = c("purulia", "bankura", "jhargram"),
                idvar="chr",
                v.names = "NSE",
                timevar = "Locations",
                times=c("purulia", "bankura", "jhargram"),
                new.row.names=c(1:(3*nrow(df))),
                direction = "long")
library(ggplot2)
df.l$year <- factor(df.l$year)
ggplot(df.l, aes(Locations, year)) + geom_tile(aes(fill = NSE)) + 
  scale_fill_gradient(low = "white", high = "red") + facet_wrap(~chr)+ 
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())

【问题讨论】:

    标签: r ggplot2 heatmap


    【解决方案1】:

    使用例如以所需顺序设置因子的水平

    df.l$Locations <- factor(df.l$Locations, levels = c("purulia", "bankura", "jhargram"))
    

    【讨论】:

      猜你喜欢
      • 2014-09-19
      • 1970-01-01
      • 2011-12-06
      • 2013-05-01
      • 2014-12-01
      • 2018-11-28
      • 2021-08-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多