MATLAB的三维散点图可以根据组别设定颜色吗?

求高手指点,贴上代码如下:>>A=[18.990.224838.33110.570.2361384.93121.930.2481112.51114.440.2561798... 求高手指点,贴上代码如下:

>> A=[18.99 0.224 838.33 1
10.57 0.236 1384.93 1
21.93 0.248 1112.51 1
14.44 0.256 1798.02 1
6.50 0.247 1652.16 1
0.42 0.260 2354.26 2
17.01 0.259 1774.57 1
14.23 0.256 1372.39 1
2.04 0.259 1474.48 2
19.97 0.259 2190.68 1
19.44 0.260 1799.76 2
20.62 0.246 1739.42 1
0.46 0.259 2352.85 2
15.07 0.228 1522.45 1
17.07 0.259 2306.62 2
16.36 0.259 2770.82 1
5.72 0.253 3190.27 1
0.51 0.243 3783.86 2
15.51 0.235 2518.82 1
15.29 0.234 2576.60 2
32.21 0.242 2826.37 1
16.87 0.259 1633.21 1
17.88 0.259 1890.27 1
23.07 0.247 2018.49 1
18.79 0.259 2080.00 1
14.21 0.256 3616.72 2
29.01 0.251 1697.20 1
9.24 0.239 2222.68 2
8.38 0.245 3014.78 1
13.17 0.242 2537.04 1
6.92 0.259 3708.02 1
14.31 0.256 3568.87 1
26.37 0.259 2413.43 2
17.24 0.259 1883.79 1
21.34 0.259 2378.23 1
12.36 0.259 1986.23 2
8.91 0.257 2272.04 1
17.02 0.259 2750.76 1
4.45 0.260 3095.82 2
28.96 0.258 2372.82 1
20.91 0.251 3074.12 1
22.01 0.252 2614.71 2
24.83 0.259 2475.91 1
22.12 0.238 1592.89 1
12.34 0.237 2487.39 1
22.09 0.240 2432.01 1
22.02 0.252 2933.36 2
18.32 0.259 1915.68 2
16.61 0.259 2094.63 2
14.45 0.237 2311.60 1
17.50 0.244 1705.62 1
17.62 0.256 2128.82 1
11.77 0.259 2467.92 2
14.40 0.259 2573.38 1
9.10 0.254 1706.64 1
11.13 0.259 2676.00 1];
x=A(:,1);y=A(:,2);z=A(:,3); q= A(:,4);
if (q==1)
C = red;
if (q==2)
C = blue;
end
end
scatter3(x,y,z,50,c,'filled')
Error using scatter3 (line 77)
C must be a single color, a vector the same length as X, or an M-by-3 matrix.

我需要前三列画出三维图,最后一列用于设定颜色,1是蓝色,2是红色。拜托了
展开
 我来答
lhmhz
高粉答主

2019-01-04 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7263 获赞数:16989

向TA提问 私信TA
展开全部

读入数据后,用for循环语句和ⅰf判断语句来设置每组数据的颜色。颜色应该这样来标识,C='r'红色,C='b'蓝色。

实现代码:

for i=1:length(x)

if (q(i)==1)

C = 'r'; %red;

elseif (q(i)==2)

C = 'b'; %blue;

end

scatter3(x(i),y(i),z(i),50,C,'filled'),hold on

end

运行结果

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式