r语言ggplot2热力图
时间: 2023-06-13 16:03:00 浏览: 232
在 R 语言中,使用 ggplot2 包可以很方便地绘制热力图。下面是一个简单的例子:
```R
library(ggplot2)
library(reshape2)
# 创建示例数据
set.seed(123)
data <- matrix(rnorm(100), nrow = 10)
rownames(data) <- paste0("Row", 1:10)
colnames(data) <- paste0("Col", 1:10)
# 转换数据格式
melt_data <- melt(data)
# 绘制热力图
ggplot(melt_data, aes(x = variable, y = factor(rownames(data)), fill = value)) +
geom_tile() +
scale_fill_gradient(low = "white", high = "red") +
theme(axis.text.y = element_text(size = 10, face = "bold"))
```
解释一下代码:
- `library(ggplot2)` 和 `library(reshape2)` 分别加载 ggplot2 和 reshape2 包。
- `set.seed(123)` 设置随机数种子,保证每次运行结果相同。
- `data <- matrix(rnorm(100), nrow = 10)` 创建一个 10 行 10 列的矩阵,矩阵元素为随机生成的正态分布数据。
- `rownames(data) <- paste0("Row", 1:10)` 和 `colnames(data) <- paste0("Col", 1:10)` 设置行名和列名。
- `melt_data <- melt(data)` 转换数据格式,将矩阵变成长格式。
- `ggplot(melt_data, aes(x = variable, y = factor(rownames(data)), fill = value))` 创建 ggplot 对象,并设置 x 轴、y 轴和填充值。
- `geom_tile()` 添加瓦片图层。
- `scale_fill_gradient(low = "white", high = "red")` 设置填充颜色的渐变范围。
- `theme(axis.text.y = element_text(size = 10, face = "bold"))` 设置 y 轴标签的字体大小和样式。
运行代码后,就可以看到热力图啦!
阅读全文