matlab中scatter函数应用实例
时间: 2023-11-02 21:32:30 浏览: 116
以下是一个matlab中scatter函数的应用实例:
假设我们有一组数据,其中包含了100个学生的数学成绩和语文成绩。我们想要用scatter函数来绘制这些数据的散点图,并用不同颜色表示数学成绩和语文成绩。
首先,我们需要将这些数据存储在两个矩阵中,其中一个矩阵存储数学成绩,另一个矩阵存储语文成绩。假设这些矩阵分别为math_scores和chinese_scores。
然后,我们可以使用如下代码来绘制散点图:
scatter(math_scores, chinese_scores, [], 'b', 'filled');
xlabel('Math Scores');
ylabel('Chinese Scores');
title('Scatter Plot of Math and Chinese Scores');
这里,我们使用scatter函数来绘制散点图,第一个参数是数学成绩矩阵,第二个参数是语文成绩矩阵,第三个参数为空,表示不使用颜色映射,第四个参数为'b',表示使用蓝色来表示数据点,最后一个参数为'filled',表示填充数据点。我们还添加了x轴和y轴标签以及标题。
通过这个散点图,我们可以看到数学成绩和语文成绩之间的关系,并且可以观察到它们之间的相关性。
相关问题
matlab速成 scatter函数在matlab函数中怎么用
### MATLAB `scatter` 函数使用教程
#### 散点图基本绘制
在MATLAB中,`scatter`函数用于创建二维散点图。最简单的调用方式只需要提供X轴和Y轴的数据即可:
```matlab
x = randn(100, 1);
y = randn(100, 1);
figure;
scatter(x, y)[^1];
```
此命令会根据给定的坐标数据集生成一个基础版本的散点图。
#### 自定义标记大小
为了增加图表的信息量或美观度,可以调整各个点的尺寸。这通过向`scatter`传递第三个参数来实现,该参数表示每个点对应的面积大小:
```matlab
sz = randi([20, 50], size(x)); % 随机生成一些不同的点径数值
figure;
scatter(x, y, sz);
```
上述代码片段展示了如何设置不同大小的圆圈作为散点图形。
#### 添加颜色维度
除了改变形状外,还可以利用色彩赋予更多含义。第四参数允许指定一组颜色值,这些值会被映射到当前的颜色表上显示出来:
```matlab
c = sqrt(x.^2 + y.^2); % 计算距离原点的距离作为颜色依据
figure;
scatter(x, y, [], c); % [] 表示采用默认大小
colorbar; % 显示颜色条辅助理解
```
这段程序里,颜色反映了各点离中心位置远近的不同程度。
#### 填充内部区域
有时希望让所有的圆形都填充起来而不是空心状态,这时可以在前面的基础上加上字符串选项'filled':
```matlab
figure;
scatter(x, y, 'filled');
```
这样做的效果是使得每一个散列出来的点都有实心外观。
#### 更改符号样式
如果想要更换使用的图标类型,则可以通过附加额外字符参数完成这一操作:
```matlab
figure;
scatter(x, y, '^r'); % 使用红色三角形向上指代所有样本点
```
这里的'^r'指示了具体的绘图标志形式及其色调。
#### 复杂配置项设定
对于更高级别的定制需求,比如修改线条宽度、透明度等特性,可借助名称-值对的形式传入相应属性名与其期望取值之间的配对关系:
```matlab
figure;
scatter(x, y, ...
'LineWidth', 1.5, ... % 设置边框粗细
'MarkerEdgeColor', 'b',...% 边缘着蓝色
'MarkerFaceAlpha', .5,... % 半透明白色填充
'MarkerFaceColor', 'w');
```
以上实例体现了怎样精细控制最终呈现的效果细节。
#### 子图布局应用案例
当需要在一个窗口内展示多个关联视图时,可以先建立好所需的分格框架再分别填入对应的内容:
```matlab
ax1 = subplot(2, 1, 1);
scatter(ax1, x, y)
ax2 = subplot(2, 1, 2);
scatter(ax2, x, y, 'filled', 'd')
```
这里构建了一个上下排列两部分结构,并分别为其设置了不一样的风格化处理方案[^2]。
scatter函数讲解
### MATLAB 中 `scatter` 函数的用法和功能
#### 功能概述
`scatter` 函数用于在二维平面上绘制散点图,这种图表通常被称为气泡图。它能够通过指定位置、大小、颜色以及形状来表示数据的不同维度。
#### 语法详解
以下是 `scatter` 函数的主要语法及其解释:
1. **基本绘图**
```matlab
scatter(x, y)
```
创建一个包含圆形的散点图,在向量 `x` 和 `y` 指定的位置放置圆点[^1]。
2. **自定义大小**
```matlab
scatter(x, y, sz)
```
允许用户通过参数 `sz` 来控制每个点的大小。如果希望所有点具有相同大小,则将 `sz` 设置为标量;若需不同大小,则将其设为与 `x` 和 `y` 长度一致的向量[^2]。
3. **自定义颜色**
```matlab
scatter(x, y, sz, c)
```
参数 `c` 控制点的颜色。当 `c` 是单个颜色名或 RGB 三元组时,所有点共享同一颜色;而当它是数值向量或矩阵时,各点会依据其值映射到当前颜色图谱。
4. **填充效果**
```matlab
scatter(...,'filled')
```
添加 `'filled'` 选项可以使散点内部被填满颜色而非仅显示边框。
5. **更改标记样式**
```matlab
scatter(..., mkr)
```
利用此形式可以改变默认圆形标记为其他类型(如星号 * 或菱形 d),其中 `mkr` 表示支持的各种 Marker 类型之一[^2]。
6. **高级属性调整**
```matlab
scatter(..., Name, Value)
```
支持通过键值对的形式进一步定制外观特性,比如线宽 (`LineWidth`) 等。
7. **指定目标轴**
```matlab
scatter(ax,...)
```
如果存在多个子图或者需要精确控制在哪一坐标系下作画,则可通过传递 Axes 对象给第一个参数实现定位[^3]。
8. **获取对象句柄**
```matlab
s = scatter(...)
```
返回代表所创建散点图的一个 Scatter 对象实例 `s` ,允许后续动态更新某些属性而不必重新调用整个命令[^3]。
#### 示例代码
下面给出几个典型例子展示如何灵活运用以上提到的各项功能:
##### 示例 1:简单散点图
```matlab
% 定义数据集
x = randn(100,1);
y = randn(100,1);
% 调用基础版本
figure;
scatter(x, y);
title('Simple Scatter Plot');
xlabel('X-axis'); ylabel('Y-axis');
```
##### 示例 2:带尺寸变化的散点图
```matlab
% 数据准备
sizes = abs(randn(size(x)))*50;
% 应用尺寸变量
figure;
scatter(x, y, sizes);
title('Scatter with Varying Sizes');
```
##### 示例 3:彩色编码散点图
```matlab
colors = rand(size(x));
figure;
scatter(x, y, [], colors); % [] means use default size
colorbar; % 显示对应颜色条
title('Color Coded Scatter Points');
```
##### 示例 4:完全配置版
```matlab
figure;
h = scatter(x, y, 'o', 'r', 'filled'); % 圆形红色实心点
set(h, 'MarkerEdgeColor','k',... % 黑色边缘
'MarkerFaceAlpha',0.5); % 半透明填充
grid on;
axis equal;
```
#### 注意事项
- 当前工作空间内的变量必须匹配所需输入的数量级及方向。
- 若尝试传入非法参数组合可能会引发错误提示,请仔细阅读官方文档确认兼容性。
阅读全文
相关推荐














