我得到了一些这样的数据,
76.09879 87.42057 1.00000
84.43282 43.53339 1.00000
95.86156 38.22528 0.00000
75.01366 30.60326 0.00000
82.30705 76.48196 1.00000
69.36459 97.71869 1.00000
39.53834 76.03681 0.00000
53.97105 89.20735 1.00000
69.07014 52.74047 1.00000
67.94686 46.67857 0.00000
70.66151 92.92714 1.00000
76.97878 47.57596 1.00000
67.37203 42.83844 0.00000
我想要做的是将所有这些点绘制为第一个为X,第二个为Y, 如果第三个值是0,以'ko'作为参数,则使用'k +'
我想知道我是否可以使用像
这样的功能样式代码plot(data(:,1),(:,2),%a function to turn 0 to 'k0',1 to 'k+');
绘制数据?
ps:我使用mathematica很多,这就是为什么我要问这种问题
答案 0 :(得分:2)
positive = find(y==1);
negative = find(y==0);
plot(X(positive,1),X(positive,2),'k+');
plot(X(negative,1),X(negative,2),'ko');
答案 1 :(得分:1)
不,但你可以这样做:
plot(data(data(:,3)==1,1), data(data(:,3)==1,2), 'k+', ...
data(data(:,3)==0,1), data(data(:,3)==0,2), 'ko')
或者这个,但这更加丑陋:
plot(data(logical(data(:,3)),1), data(logical(data(:,3)),2), 'k+', ...
data(!logical(data(:,3)),1), data(!logical(data(:,3)),2), 'ko')