matlab的scatter
时间: 2025-03-03 15:25:44 浏览: 59
### MATLAB 中 `scatter` 函数使用教程
#### 绘制基本散点图
在 MATLAB 中,可以使用最简单的形式来创建散点图:
```matlab
% 创建两个向量作为数据集
x = randn(100, 1);
y = randn(100, 1);
% 调用 scatter 函数绘制散点图
scatter(x, y)[^1];
```
此命令将在默认设置下显示一组随机分布的数据点。
#### 设置标记大小
通过指定第三个输入参数 `sz` 可以为每个点分配不同的尺寸:
```matlab
sizes = abs(randn(size(x)) * 100); % 随机生成一些大小数值
scatter(x, y, sizes)[^2]; % 使用这些值定义各点的面积
```
这使得图表能够表达第三维度的信息——即各个点的重要性或其他属性。
#### 自定义颜色方案
为了进一步增强可视化效果,还可以利用第四个参数控制颜色变化:
```matlab
colors = rand(size(x)); % 构建一个代表颜色强度的数组
scatter(x, y, [], colors); % 应用渐变色彩到每一个点上
colorbar; % 添加颜色条辅助理解
```
上述代码片段会根据给定的颜色矩阵调整每一点的颜色深浅度,并附加一条指示器帮助解读。
#### 填充图形内部区域
如果希望让所有的圆圈都填充实心,则可以在调用时加入 `'filled'` 参数:
```matlab
scatter(x, y, 'filled');
```
这样做的好处是可以使图像看起来更加紧凑美观。
#### 更改标记样式
除了圆形之外,用户也可以更改所使用的符号形状。例如,采用星号代替标准的小圆点:
```matlab
scatter(x, y, '*', 'MarkerEdgeColor', 'k', ... % 黑边框星星
'MarkerFaceColor', [0 .75 .75]) % 浅蓝色填充
;
```
这段脚本不仅改变了记号的形式还设置了边界线以及面漆色调。
#### 利用名称-值对组定制更多细节
对于更复杂的配置需求,可以通过传递一系列 Name-Value 对来进行微调:
```matlab
figure;
hold on;
for i = 1:length(groups)
groupDataX = data{groups{i}, :};
groupDataY = labels == groups{i};
scatter(groupDataX(:, 1), ...
groupDataX(:, 2), ...
[], ...
groupColors(i,:),...
'LineWidth', 1.5,...
'Marker','o',...
sprintf('DisplayName,%s', char(groups{i})));
end
legend show;
xlabel('Feature One');
ylabel('Feature Two');
title('Scatter Plot with Customization');
grid minor;
box off;
```
这里展示了如何在一个循环结构内处理多类别数据并应用个性化选项,比如线条宽度、标签说明等。
阅读全文
相关推荐















