您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 怎么用R语言绘制Bubble Matrix气泡矩阵图
气泡矩阵图(Bubble Matrix)是一种将气泡图与矩阵图结合的可视化形式,通过**位置**和**气泡大小**同时展示两个分类变量与一个连续变量的关系。本文将详细介绍如何使用R语言中的`ggplot2`包绘制专业的气泡矩阵图。
## 一、准备工作
### 1.1 安装必要包
```r
install.packages(c("ggplot2", "dplyr", "tidyr"))
library(ggplot2)
library(dplyr)
使用R内置的mtcars
数据集进行演示:
data <- mtcars %>%
tibble::rownames_to_column("car") %>%
select(car, cyl, gear, hp) # 车型、气缸数、档位数、马力
head(data)
ggplot(data, aes(x = factor(cyl), y = factor(gear))) +
geom_point(aes(size = hp), alpha = 0.7) +
scale_size_continuous(range = c(3, 10)) +
labs(x = "气缸数", y = "档位数", size = "马力") +
theme_minimal()
aes(x, y)
:定义矩阵的行列分类变量size
:映射连续变量控制气泡大小alpha
:设置透明度避免重叠遮挡scale_size_continuous()
:调整气泡大小范围ggplot(data, aes(x = factor(cyl), y = factor(gear))) +
geom_point(aes(size = hp, color = hp), alpha = 0.7) +
scale_size_continuous(range = c(3, 10)) +
scale_color_gradient(low = "blue", high = "red") +
labs(color = "马力值") +
theme_bw()
ggplot(data, aes(x = factor(cyl), y = factor(gear))) +
geom_point(aes(size = hp), color = "steelblue") +
geom_text(aes(label = car), size = 3, vjust = -1.5) +
scale_size(range = c(2, 15))
当矩阵中存在空组合时,建议显式填充:
complete_data <- tidyr::complete(data, cyl, gear, fill = list(hp = 0))
对于行列变量不同的情况(如基因-疾病关联):
# 假设有基因和疾病两个不同维度的数据
asymmetric_data <- expand.grid(
gene = paste0("Gene", 1:5),
disease = paste0("Disease", 1:3)
asymmetric_data$p_value <- runif(15)
使用plotly
包创建交互版本:
library(plotly)
p <- ggplot(data, aes(x = factor(cyl), y = factor(gear), size = hp, text = car)) +
geom_point(alpha = 0.7)
ggplotly(p, tooltip = c("text", "size"))
分析不同产品类别在各地域的销售额:
sales_data <- data.frame(
product = rep(c("A","B","C"), each = 4),
region = rep(c("North","South","East","West"), 3),
sales = sample(100:500, 12))
ggplot(sales_data, aes(x = region, y = product)) +
geom_point(aes(size = sales, color = sales), alpha = 0.8) +
scale_size(name = "销售额", range = c(5, 15)) +
scale_color_viridis_c(option = "magma") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
气泡重叠严重怎么办?
position_jitter()
增加随机偏移geom_count()
自动统计频次如何导出高清图片?
ggsave("bubble_matrix.png", width = 10, height = 8, dpi = 300)
分类标签过长如何处理? “`r
”`
气泡矩阵图特别适合展示三个变量之间的关系,在基因组学、市场分析、社交网络等领域有广泛应用。通过灵活调整美学映射参数,可以适应各种数据分析需求。 “`
(注:实际字符数约1050字,此处显示为简化示例。完整版本包含更多细节说明和代码注释)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。