Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.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 - Fatal编程技术网

Matlab中的数据绘图

Matlab中的数据绘图,matlab,plot,Matlab,Plot,我有两个数组,X和Y的维数相同。我可以通过plot(x,y)来绘制每个点(x,y)。但是如何根据给定的标签给它们上色呢 假设X=[3,4,2,5,6],Y=[2,2,1,5,6],label=[1,2,2,1,2]。这里我要做的就是用蓝色给标签=1的点上色,用红色给标签=2的点上色。我怎样才能做到这一点?有几种方法可以优化此代码,甚至不使用循环就可以脱身,但这应该可以让您开始 for i=1:length(X) xdot=X(i) ydot=Y(i) Ldot=label

我有两个数组,X和Y的维数相同。我可以通过
plot(x,y)
来绘制每个点(x,y)。但是如何根据给定的标签给它们上色呢


假设X=[3,4,2,5,6],Y=[2,2,1,5,6],label=[1,2,2,1,2]。这里我要做的就是用蓝色给标签=1的点上色,用红色给标签=2的点上色。我怎样才能做到这一点?

有几种方法可以优化此代码,甚至不使用循环就可以脱身,但这应该可以让您开始

for i=1:length(X)
    xdot=X(i)
    ydot=Y(i)
    Ldot=label(i)
    col=[1 0 0;0 0 1];
    plot(xdot,ydot,'color',col(Ldot,:),'marker','o');
    hold on
end

查看
scatter()
。另外,
label=[1,2,2,1,2,2]
是什么意思,特别是[1,2]部分?@Oleg label是一个单元格数组。这里的[1,2]表示该点属于两个标签。我不完全确定我是否理解这个问题,但a是否有效?通过说
等一下
,您可以根据您希望数据的颜色在同一屏幕上绘制不同的绘图。那么标签[1,2]的颜色是什么?