Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带标签的Matlab绘图_Matlab_Plot_Scatter Plot_Knn - Fatal编程技术网

带标签的Matlab绘图

带标签的Matlab绘图,matlab,plot,scatter-plot,knn,Matlab,Plot,Scatter Plot,Knn,我试图从我的数据中绘制knn结果,它有3列:x,y,label。有3个类,我想为每个类使用不同的符号。下面是我现在正在策划的方式: t1 = data(:,3) == 1; t2 = data(:,3) == 2; t3 = data(:,3) == 3; train1 = data(t1,:); train2 = data(t2,:); train3 = data(t3,:); figure(1); plot(train1(:,1),train1(:,2),'#',train2(:,1)

我试图从我的数据中绘制knn结果,它有3列:x,y,label。有3个类,我想为每个类使用不同的符号。下面是我现在正在策划的方式:

t1 = data(:,3) == 1;
t2 = data(:,3) == 2;
t3 = data(:,3) == 3;

train1 = data(t1,:);
train2 = data(t2,:);
train3 = data(t3,:);

figure(1);

plot(train1(:,1),train1(:,2),'#',train2(:,1),train2(:,2),'*',train3(:,1),train3(:,2),'o');
我想知道是否有一种更简洁的方法。谢谢

以下是绘制数据最简洁(最有效)的方法:

figure(1);
hold all
plot(train1(:,1),train1(:,2),'o')
plot(train2(:,1),train2(:,2),'x')
plot(train3(:,1),train3(:,2),'s')
下面是一个以健壮和模块化的方式实现您想要的功能的示例。您可以轻松地添加类或修改地物输出

data = [0.53,0.17,2;0.78,0.60,3;0.93,0.26,1;0.13,0.65,2;0.57,0.69,1;...
        0.47,0.75,3;0.010,0.45,1;0.34,0.080,3;0.16,0.23,3;0.79,0.91,3;...
        0.31,0.15,1;0.53,0.83,2];

categories = [1,2,3];
symbols = {'s','<','o','d','v','+','x','*'};
figure;
hold all
for loopj = 1:length(categories)
    t = data(:,3) == categories(loopj);
    train = data(t,:);
    label = strcat('Class ',num2str(categories(loopj)));
    plot(train(:,1),train(:,2),symbols{loopj},'DisplayName',label,'LineWidth',1.3)
end
lg = legend('show');
lg.Location = 'best';
data=[0.53,0.17,2;0.78,0.60,3;0.93,0.26,1;0.13,0.65,2;0.57,0.69,1;。。。
0.47,0.75,3;0.010,0.45,1;0.34,0.080,3;0.16,0.23,3;0.79,0.91,3;...
0.31,0.15,1;0.53,0.83,2];
类别=[1,2,3];
symbols={s','以下是绘制数据的最简洁(最有效)的方法:

figure(1);
hold all
plot(train1(:,1),train1(:,2),'o')
plot(train2(:,1),train2(:,2),'x')
plot(train3(:,1),train3(:,2),'s')
下面是一个以健壮和模块化的方式实现所需功能的示例。您可以轻松添加类或修改图形输出

data = [0.53,0.17,2;0.78,0.60,3;0.93,0.26,1;0.13,0.65,2;0.57,0.69,1;...
        0.47,0.75,3;0.010,0.45,1;0.34,0.080,3;0.16,0.23,3;0.79,0.91,3;...
        0.31,0.15,1;0.53,0.83,2];

categories = [1,2,3];
symbols = {'s','<','o','d','v','+','x','*'};
figure;
hold all
for loopj = 1:length(categories)
    t = data(:,3) == categories(loopj);
    train = data(t,:);
    label = strcat('Class ',num2str(categories(loopj)));
    plot(train(:,1),train(:,2),symbols{loopj},'DisplayName',label,'LineWidth',1.3)
end
lg = legend('show');
lg.Location = 'best';
data=[0.53,0.17,2;0.78,0.60,3;0.93,0.26,1;0.13,0.65,2;0.57,0.69,1;。。。
0.47,0.75,3;0.010,0.45,1;0.34,0.080,3;0.16,0.23,3;0.79,0.91,3;...
0.31,0.15,1;0.53,0.83,2];
类别=[1,2,3];
符号={s','