记录:R语言生成热图(非相关性)

  今天解决了一个困扰了我很久的问题,就是如何绘制不添加相关性的热图。一般绘制热图是使用corrplot包画相关性图,但是这样有一个前提,就是输入的数据集必须进行相关性分析。那么如果我不需要进行相关性分析,而是直接绘制能够反应数值大小的热图呢?

  这里给出一个相关性热图的绘制方法:corrplot相关性图,我之前是参考这个来画的,所以就一直出错,但是如果你要绘制相关性热图的话,可以参考他的方法。

  在这里,我使用了气泡图进行绘制,我的数据集如下:

  但是使用这样的数据集是无法绘制气泡图的,因为气泡图要求数据有三列,因此需要将原始数据转换为长格式的数据 (可以使用melt函数,但是我不太会使用这个函数,如果您会,可以告诉我如何操作),所以我就直接手动将数据调整为长格式:

接下来就是绘制气泡图:

r 复制代码
library(ggplot2)
A <- read_excel("jiaohu_result.xlsx", sheet = 7)
data <- as.data.frame(A)

## 调整因子水平
data$X <- factor(data$X, levels = c("X1", "X2", "X3", "X4", "X5", "X6",
                                    "X7","X8"))
data$Y <- factor(data$Y, levels = c("X1", "X2", "X3", "X4", "X5", "X6",
                                    "X7","X8"))
data

# 创建气泡图
ggplot(data, aes(x = X, y = Y, size = values, color= X, fill=X))+
  geom_point(color="black", shape=21,alpha=0.9, stroke = 0.7)+
  scale_size_continuous(range = c(1, 16)) +
  theme_minimal() +
  labs(x = "Variable", y = "Variable", size = "q") +
  theme_bw()+
  theme(text=element_text(size=20,  family="serif"),
        axis.text.x = element_text(family = "serif", size = 14, face = "bold"),
        axis.text.y = element_text(family = "serif", size = 14, face = "bold"),
        panel.grid = element_blank()
  )

结果展示:

这里放一张别人论文里面的气泡图:

相关推荐
老当益壮梁奶奶24 分钟前
51单片机DS18B20温度传感器详解:单总线时序与C51驱动实现
笔记·stm32·单片机·嵌入式硬件·51单片机
小叶肥辉1 小时前
LangChain链和LangGraph图的学习笔记【三】——分别用langchain_openai库和langchain_community库调用大模型
笔记·python·langchain
xiangyun612 小时前
【408数据结构 08】队列:循环队列判空判满,408年年考,一次讲清
c语言·开发语言·数据结构·c++·算法
xiangyun613 小时前
【408数据结构 06】双链表、循环链表、静态链表
c语言·开发语言·数据结构·c++·算法
从零开始的嵌入式之旅3 小时前
day44
arm开发·经验分享·笔记·嵌入式硬件
白远山4 小时前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析
DevRay5 小时前
Java 21虚拟线程深度实战:告别线程池焦虑,百万并发吞吐量直接翻倍(原理+代码+避坑)
java·开发语言
free-elcmacom5 小时前
C++学习<1>程序分区
开发语言·c++
醉颜凉5 小时前
Java 必看:如何彻底避免 HashMap 多线程死循环问题?
java·开发语言
默 语5 小时前
Java新手入门:从零开始安装JDK并配置环境变量
java·开发语言·python·mysql·group by·1024程序员节·数据去重