微信扫一扫 分享朋友圈

已有 814 人浏览分享

开启左侧

funkyheatmap-绝对不容错过的烧脑热图【原创】

[复制链接]
814 0

在数据可视化领域,热图是一种常用的工具,用于呈现大量的复杂数据。R语言提供了多种生成热图的方法,包括基础R的heatmap()函数、ggplot2的geom_tile()函数、lattice的levelplot()函数,以及为R创建的交互式热图包plotly、d3heatmap和heatmaply。每种方法都有其优点和限制,选择哪种方法取决于特定的需求和数据类型。


在这些工具中,我们现在要介绍一个新的R包,名为FunkyHeatmap。FunkyHeatmap是一个用于生成数据框热图的工具,可以通过提供列和行的注释来进行微调,从而允许为多个调色板或几何形状分配或将行和列按类别分组。FunkyHeatmap的一个主要优点是其可自定义性。例如,您可以为热图中的每一列定义不同的几何形状、颜色调色板和选项,这可以通过列信息参数实现。您也可以将列分组,并为每个组指定一个调色板。同样,您也可以为行定义分组。FunkyHeatmap还允许您指定不同的调色板,以实现热图的颜色定制。


FunkyHeatmap的灵活性使其在需要高度定制化热图的情况下,可能优于其他工具。例如,如果您需要在热图中使用不同的调色板和几何形状,或者需要对行和列进行分组,那么FunkyHeatmap可能是一个非常合适的选择。然而,需要注意的是,FunkyHeatmap可能在一些方面不如其他工具。例如,基础R的heatmap()函数和heatmaply包提供了聚类和归一化的选项,而FunkyHeatmap并没有提供这些功能。此外,plotly、d3heatmap和heatmaply可以创建交互式热图,而FunkyHeatmap目前看来并不支持这种交互性。


总的来说,FunkyHeatmap是一个强大且高度可定制的R热图工具,尤其适合需要细致调整热图视觉效果的场合。然而,对于需要聚类、归一化或交互功能的项目,可能需要考虑使用其他R热图工具。


示例:
1. 安装

  1. install.packages("funkyheatmap")
复制代码
2. 加载及示例
  1. library(funkyheatmap)
  2. library(dplyr, warn.conflicts = FALSE)
  3. library(tibble, warn.conflicts = FALSE)
  4. data("mtcars")
  5. funky_heatmap(mtcars)
复制代码


3.高阶用法
  1. data <- mtcars %>%
  2.   rownames_to_column("id") %>%
  3.   arrange(desc(mpg))

  4. column_info <- tribble(
  5.   ~id,     ~group,         ~name,                      ~geom,        ~palette,    ~options,
  6.   "id",    "",             "",                         "text",       NA,          list(hjust = 0, width = 6),
  7.   "mpg",   "overall",      "Miles / gallon",           "bar",        "palette1",  list(width = 4, legend = FALSE),
  8.   "cyl",   "overall",      "Number of cylinders",      "bar",        "palette2",  list(width = 4, legend = FALSE),
  9.   "disp",  "group1",       "Displacement (cu.in.)",    "funkyrect",  "palette1",  lst(),
  10.   "hp",    "group1",       "Gross horsepower",         "funkyrect",  "palette1",  lst(),
  11.   "drat",  "group1",       "Rear axle ratio",          "funkyrect",  "palette1",  lst(),
  12.   "wt",    "group1",       "Weight (1000 lbs)",        "funkyrect",  "palette1",  lst(),
  13.   "qsec",  "group2",       "1/4 mile time",            "circle",     "palette2",  lst(),
  14.   "vs",    "group2",       "Engine",                   "circle",     "palette2",  lst(),
  15.   "am",    "group2",       "Transmission",             "circle",     "palette2",  lst(),
  16.   "gear",  "group2",       "# Forward gears",          "circle",     "palette2",  lst(),
  17.   "carb",  "group2",       "# Carburetors",            "circle",     "palette2",  lst()
  18. )
复制代码



参考链接:https://github.com/funkyheatmap/funkyheatmap

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0

关注

0

粉丝

41

主题
精彩推荐
热门资讯
网友晒图
图文推荐

免责声明|手机版|小黑屋|BIOFUN.CLOUD ( 苏ICP备2022022893号-2 )

GMT+8, 2024-5-17 13:45 , Processed in 0.095174 second(s), 32 queries .

Powered by Discuz! X3.5

© 2020-2030 Biofun Team. 苏ICP备2022022893号-2