matlab相关性气泡图
时间: 2025-01-26 10:55:51 浏览: 51
### 如何在 MATLAB 中创建相关性气泡图
#### 创建数据集
为了绘制相关性气泡图,首先需要准备两个变量的数据以及它们之间的关联强度。假设存在两组随机数作为 X 和 Y 变量,并计算其间的皮尔逊相关系数来表示关系紧密度。
```matlab
% 设置随机种子以便重复实验结果
rng(0);
% 生成模拟数据
n = 5; % 数据点数量
X = rand(n,1)*10;
Y = 2*X + randn(n,1); % 假设 Y 大致线性依赖于 X 加上一些噪声
R = corr(X,Y,'Type','Pearson'); % 计算 Pearson 相关系数矩阵 R
S = abs(R).^2 .* 100; % 将绝对值平方并放大用于控制泡泡大小 S
```
#### 绘制散点图基础框架
利用 `scatter` 函数可以快速构建起基本的二维散点布局,在此基础上通过调整参数实现气泡效果。
```matlab
figure;
hold on;
for i=1:n
scatter(X(i), Y(i), S, 'filled');
end
title('Correlation Bubble Plot Between Two Variables');
xlabel('Variable X');
ylabel('Variable Y');
axis equal tight;
grid minor;
colorbar;
colormap jet;
```
上述代码片段中,循环遍历每一个坐标位置 `(X(i), Y(i))` 并指定对应的面积 `S` 来定义各处圆圈尺寸;同时设置了图形窗口属性使得可视化更加直观[^1]。
#### 添加颜色映射增强表达力
为了让图表更具有视觉冲击力和信息传达效率,可以根据实际需求引入色彩变化机制——比如按照相关性的正负方向着色:
```matlab
C = sign(R).*linspace(-1,+1,n).'; % 构建渐变色序列 C (-1 到 +1)
...
for i=1:n
hScatter = scatter(X(i), Y(i), S, C(i), 'filled', 'MarkerFaceAlpha', .7);
end
...
caxis([-1 1]); % 设定颜色轴范围 [-1, 1]
```
这里使用了 `sign()` 函数获取原始相关系数的方向标记,并结合均匀分布的颜色向量 `C` 实现从蓝到红过渡的效果。最后调用 `caxis()` 方法固定住颜色条目的上下限边界以确保不同批次绘图间的一致性[^2]。
阅读全文
相关推荐
















