matlab绘制二维散点图
时间: 2023-09-30 09:02:35 浏览: 206
要在MATLAB中绘制二维散点图,可以使用scatter函数。该函数将x和y坐标作为输入,并可选择指定点的颜色和大小。以下是一个示例代码:
x = [12,14,16,21,23,25,27,19,23,21];
y = [78,79,69,74,71,82,68,85,83,81];
scatter(x, y, 'r', 'filled')
这段代码将以红色绘制填充的散点图。您可以根据需要调整颜色和图像样式。
相关问题
matlab绘制二维散点
### 如何使用MATLAB绘制二维散点图
在MATLAB中,`scatter` 函数是一个常用的工具来创建二维散点图。以下是详细的说明以及示例代码。
#### 使用 `scatter` 函数绘制二维散点图
`scatter` 函数允许自定义标记的颜色、大小和其他属性。下面是一段完整的代码示例:
```matlab
% 数据准备
x = randn(100, 1); % 随机生成横坐标数据
y = randn(100, 1); % 随机生成纵坐标数据
size = abs(randn(100, 1)) * 50; % 定义每个点的大小
colors = rand(100, 1); % 定义每个点的颜色值
% 创建散点图
figure;
s = scatter(x, y, size, colors, 'filled');
colormap jet; % 设置颜色映射方案
colorbar; % 显示颜色条
title('二维散点图示例');
xlabel('X 轴');
ylabel('Y 轴');
% 自定义图形外观
set(s, 'LineWidth', 0.6);
set(gca, 'GridLineStyle', '--'); % 添加网格线样式
grid on;
% 图形边界调整
xlim([-3, 3]);
ylim([-3, 3]);
```
上述代码展示了如何通过随机生成的数据绘制一个带有颜色和大小变化的二维散点图[^2]。
#### 使用 `plot` 函数绘制简单二维散点图
除了 `scatter`,还可以利用 `plot` 来快速绘制简单的二维散点图。以下是一个例子:
```matlab
clear; clc; close all;
% 数据生成
x = linspace(1, 200, 100); % 均匀分布于区间 [1, 200] 的 100 个数
y1 = log(x) + 1; % 计算第一个函数值
y2 = log(x) + 2; % 计算第二个函数值
% 绘制散点图
figure;
hold on;
plot(x, y1, 'o', ...
'MarkerEdgeColor', [0.50, 0.2, 0.1], ...
'MarkerFaceColor', [0.1, 0.8, 0.3]);
% 叠加另一组曲线
plot(x, y2, '-', 'LineWidth', 2);
% 图形设置
legend('y1', 'y2'); % 添加图例
xlabel('X轴标签');
ylabel('Y轴标签');
title('二维散点图与线条叠加');
grid on;
hold off;
```
这段代码演示了如何在同一张图表上同时显示散点图和连续曲线,并设置了不同的颜色和线宽[^3]。
#### 结合实际应用案例
如果需要基于特定条件筛选并绘制某些类别的数据,则可以采用逻辑索引来完成操作。例如,在分类数据集中仅展示属于某一类别(如标签为2)的部分样本点:
```matlab
data_load = load('your_data_file.mat'); % 加载外部数据文件
class_2_indices = data_load(:, end) == 2; % 找到类别等于2的所有行
% 对应这些行提取特征列作为输入参数调用绘图命令
plot(data_load(class_2_indices, 1), ...
data_load(class_2_indices, 2), ...
'r^', 'MarkerSize', 6, 'MarkerFaceColor', 'r');
```
此方法适用于处理带标注的大规模多维数据集场景下选取感兴趣部分单独呈现其分布特性[^4]。
---
### 相关问题
matlab作二维散点图
在 MATLAB 中绘制二维散点图可以使用 `scatter` 函数。以下是一个详细的示例,展示了如何生成数据并绘制二维散点图,包括设置标记的大小、颜色和边缘颜色等属性。
### 数据准备
首先,生成一些随机数据用于绘制散点图:
```matlab
% 生成500个0-1之间的随机数据
x = 100:600;
a = 0;
b = 1;
R = a + (b - a) .* rand(500, 1);
m = R;
```
### 绘制散点图
接下来,使用 `scatter` 函数绘制散点图,并设置各种属性:
```matlab
% 创建一个新的图形窗口,背景为白色
figure('Color', [1 1 1]);
% 绘制散点图
s = scatter(1:length(m), m);
% 设置线条宽度和标记边缘颜色
s.LineWidth = 0.6;
s.MarkerEdgeColor = 'k';
% 定义几种颜色
c1 = [246 214 3] / 255; % 黄色
c2 = [9 12 19] / 255; % 深蓝色
c3 = [254 114 141] / 255; % 粉红色
c4 = [128 159 186] / 255; % 浅蓝色
% 设置标记填充颜色
s.MarkerFaceColor = c1;
% 调整坐标轴范围
set(gca, 'XLim', [-50 550]);
set(gca, 'YLim', [0, 1.1]);
% 设置坐标轴线宽
set(gca, 'LineWidth', 1);
% 显示网格
grid on;
```
### 解释代码
- **数据生成**:使用 `rand` 函数生成 500 个在 0 到 1 之间的随机数。
- **绘图设置**:
- `scatter` 函数用于绘制散点图,其中第一个参数是横坐标数据,第二个参数是纵坐标数据。
- `LineWidth` 属性设置标记边缘的线宽。
- `MarkerEdgeColor` 属性设置标记边缘的颜色。
- `MarkerFaceColor` 属性设置标记内部的填充颜色。
- **颜色定义**:通过 RGB 值定义不同的颜色。
- **坐标轴设置**:使用 `set(gca, ...)` 调整坐标轴的范围和线宽。
- **网格显示**:使用 `grid on` 显示网格线。
通过调整这些参数,您可以根据需要自定义散点图的外观[^2]。
阅读全文
相关推荐













