R语言环状热力图的画法

 更新时间:2024年02月02日 08:27:44   作者:亦旧sea  
环状热力图是一种以环状布局展示数据的可视化方法,本文主要介绍了R语言环状热力图的画法,具有一定的参考价值,感兴趣的可以了解一下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

环状热力图(Circular Heatmap)是一种以环状布局展示数据的可视化方法。它结合了热力图和极坐标系统,能够有效地显示数据的关系、模式和趋势。

环状热力图通常用于可视化二维数据矩阵,其中行和列代表不同的类别或变量,而单元格内的颜色则表示对应变量的数值大小。与传统的矩形热力图不同,环状热力图将矩形排列成一个环状,使得数据在环上的分布更加直观。

环状热力图的优势在于它可以同时展示多个变量之间的关系,并且可以通过调整环的顺序和角度来改变数据展示的方式。此外,通过在环状热力图中添加其他图层,如聚类树图或标签,可以进一步增强数据的解读和呈现效果。

创建环状热力图的步骤通常包括以下几个方面:

  • 准备数据:将需要展示的数据转换成适合环状热力图的格式,通常是一个二维矩阵。
  • 绘制环状布局:使用相应的绘图库创建一个环状布局,确定数据的摆放位置。
  • 绘制热力图:在环状布局上绘制热力图,通过颜色的不同来表示数据的大小或差异。
  • 添加其他图层:根据需要,可以在环状热力图中添加聚类树图、标签等其他元素,以增强可视化效果。
  • 设置样式和标签:调整环状热力图的样式、颜色、标签等细节,使其更具吸引力和清晰度。
  • 显示和解读:将环状热力图呈现给观众,并解读其中的数据模式、关系和趋势。

环状热力图在生物学、基因组学、社交网络分析等领域得到广泛应用。它能够有效地展示大量的数据,并帮助人们发现隐藏在数据中的规律和结构。

这段代码主要是使用了ggplot2包来绘制热图,并最终实现了环状热图的效果。下面是对代码思路的解释:

  • 首先,使用set.seed(8)设置了随机数种子,以确保结果的可重复性。

  • 接着,创建了一个 25x25 的随机矩阵 m,并使用 colnames 和 rownames 给这个矩阵添加行列名称。

  • 使用 melt 函数将矩阵 m 转换成长格式的数据框 df,其中包含三列:"x"、"y" 和 "value",分别代表横坐标、纵坐标和值。

  • 接下来,使用 ggplot 函数创建了一个基础的热图 p1,其中使用 geom_tile 函数绘制了矩形热图,并使用 scale_fill_gradient2 函数设置了颜色渐变。

  • 然后,通过 xlim 和 ylim 函数调整了图形的比例大小,并将调整后的图保存在 p2 中。

  • 最后,使用 coord_polar 函数将热图转换为环状热图,并将结果保存在 p3 中。

整体思路就是先创建数据,然后使用 ggplot2 包绘制热图,并通过一系列函数调整图形的样式和比例,最终实现了环状热图的效果。

library(reshape)
library(ggplot2)

# 创建数据
set.seed(8)
m <- matrix(round(rnorm(200), 2), 25, 25)
colnames(m) <- paste(1:25)
rownames(m) <- paste(1:25)
df <- melt(m)
colnames(df) <- c("x", "y", "value")


#ggplot2绘图
p1<-ggplot(df, aes(x = x, y = y, fill = value)) +
  geom_tile(color = "skyblue") +
  #添加values值
  #geom_text(aes(label = value), color = "white", size = 4) +
  scale_fill_gradient2(low = "#075AFF",
                       mid = "#FFFFCC",
                       high = "#FF0000") +
  coord_fixed()

p1
#调整图形比例大小
p1 + xlim(-10,25) + ylim(-10,25) -> p2
p2

#环状热图
p2 + coord_polar(theta = "x", start = pi/4) -> p3
p3

代码美观改进

library(reshape2)
library(ggplot2)

# 创建数据
set.seed(8)
m <- matrix(round(rnorm(200), 2), 25, 25)
colnames(m) <- paste(1:25)
rownames(m) <- paste(1:25)
df <- melt(m)
colnames(df) <- c("x", "y", "value")

# 创建环状热图
p <- ggplot(df, aes(x = x, y = y, fill = value)) +
  geom_tile(color = "skyblue") +
  scale_fill_gradient2(low = "#075AFF",
                       mid = "#FFFFCC",
                       high = "#FF0000") +
  coord_polar(start = pi / 4) +
  theme_void() +
  theme(plot.margin = margin(10, 10, 10, 10))

# 调整图形大小和比例
p + xlim(-10, 25) + ylim(-10, 25) +
  theme(axis.title = element_blank(),
        axis.text = element_blank(),
        axis.ticks = element_blank(),
        panel.grid = element_blank()) +
  labs(title = "环状热图") +
  theme(plot.title = element_text(hjust = 0.5)) -> p

# 显示环状热图
print(p)

在这个优化的版本中,进行了以下改进:

  • 添加了 theme_void() 函数来移除默认的背景和网格线,使热图更加简洁。

  • 使用 theme(plot.margin = margin(10, 10, 10, 10)) 调整了图形的边距,使其在画布中居中显示。

  • 使用 theme(...) 函数来移除坐标轴、刻度线和网格线,以进一步简化图形。

  • 使用 labs(title = "环状热图") 添加了一个标题,可以根据需要自定义标题内容。

这些改进旨在提高环状热图的可读性,同时使图形更加美观。你可以将代码复制到R环境中运行,查看优化后的环状热图效果。

到此这篇关于R语言环状热力图的画法的文章就介绍到这了,更多相关R语言环状热力图 内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • R语言使用gganimate创建可视化动图

    R语言使用gganimate创建可视化动图

    这篇文章主要为大家介绍了R语言使用gganimate创建可视化动图的实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • R语言matrix生成矩阵的方法

    R语言matrix生成矩阵的方法

    这篇文章主要介绍了R语言matrix生成矩阵的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • R语言创建矩阵的实现方法

    R语言创建矩阵的实现方法

    这篇文章主要介绍了R语言创建矩阵的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • R语言 ggplot2改变柱状图的顺序操作

    R语言 ggplot2改变柱状图的顺序操作

    这篇文章主要介绍了R语言 ggplot2改变柱状图的顺序操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言中devtools的使用详解

    R语言中devtools的使用详解

    这篇文章主要介绍了R语言中devtools的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言多线程运算操作(解决R循环慢的问题)

    R语言多线程运算操作(解决R循环慢的问题)

    这篇文章主要介绍了R语言多线程运算操作(解决R循环慢的问题),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言学习Rcpp基础知识全面整理

    R语言学习Rcpp基础知识全面整理

    这篇文章主要介绍了R语言学习Rcpp知识的全面整理,包括相关配置说明,常用数据类型及建立等基础知识的全面详解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-11-11
  • R语言数据类型知识点总结

    R语言数据类型知识点总结

    在本篇文章里小编给大家整理的是一篇关于R语言数据类型知识点总结内容,有兴趣的朋友们可以学习下。
    2021-03-03
  • R语言作图之直方图histogram绘制过程详解

    R语言作图之直方图histogram绘制过程详解

    这篇文章主要介绍了R语言作图之直方图histogram详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 详解R语言中的表达式、数学公式、特殊符号

    详解R语言中的表达式、数学公式、特殊符号

    这篇文章主要介绍了详解R语言中的表达式、数学公式、特殊符号,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03

最新评论

?


http://www.vxiaotou.com