MATLAB标记点归类
时间: 2023-07-29 15:12:23 浏览: 175
MATLAB函数画图[归类].pdf
在MATLAB中,可以使用scatter函数绘制带有标记点的散点图。如果想要将标记点按照不同的类别进行归类并使用不同的颜色进行标记,可以按照以下步骤进行操作:
1. 定义数据点的坐标和类别。假设我们有10个数据点,每个数据点有x、y坐标和类别信息,可以定义一个大小为10x3的矩阵,其中每行分别表示一个数据点的x、y坐标和类别信息。
```matlab
data = [1, 2, 1;
2, 4, 2;
3, 6, 2;
4, 8, 1;
5, 10, 3;
6, 12, 1;
7, 14, 3;
8, 16, 2;
9, 18, 3;
10, 20, 1];
```
2. 针对不同的类别,设置不同的颜色和标记点形状。可以定义一个颜色和标记点形状的映射表,使用不同的颜色和标记点形状来代表不同的类别。以下是一个例子:
```matlab
color_map = containers.Map({1,2,3},{'r', 'b', 'g'}); % 定义颜色映射表
marker_map = containers.Map({1,2,3},{'o', 's', '+'}); % 定义标记点映射表
```
在这个例子中,我们使用containers.Map来定义了两个映射表,一个是颜色映射表,另一个是标记点映射表。其中,{1,2,3}表示类别信息,{'r', 'b', 'g'}表示颜色信息,{'o', 's', '+'}表示标记点形状信息。
3. 绘制散点图。可以使用scatter函数绘制散点图,并根据类别信息设置不同的颜色和标记点形状。以下是代码示例:
```matlab
figure; % 新建一个图表
hold on; % 开启绘图模式
for i = 1:size(data, 1)
x = data(i, 1);
y = data(i, 2);
c = data(i, 3);
color = color_map(c);
marker = marker_map(c);
scatter(x, y, 50, color, marker, 'filled');
end
xlabel('x'); % 设置x轴标签
ylabel('y'); % 设置y轴标签
title('Scatter Plot'); % 设置标题
legend('Class 1', 'Class 2', 'Class 3'); % 显示图例
```
在这个程序中,我们首先使用figure函数新建了一个图表,并使用hold on命令开启了绘图模式。然后,使用for循环遍历了所有的数据点,获取了其x、y坐标和类别信息,根据类别信息从颜色和标记点映射表中获取了对应的颜色和标记点形状,并使用scatter函数绘制了相应的散点图。最后,我们使用xlabel、ylabel、title和legend函数设置了图表的标签和标题,并显示了图例。
运行这个程序后,MATLAB会弹出一个窗口,显示绘制出的散点图。可以看到,不同的类别使用了不同的颜色和标记点形状进行标记。
阅读全文