如何使用matlab将点画成一幅图:
x=[12,14,16,21,23,25,27,19,23,121,81]
y=[78,79,69,74,71,82,68,85,83,181,99]
x2=[112,14,116,21,123,25,127,19,23,121]
y2=[178,79,169,74,171,82,168,85,83,181]
b= size(x);
c= b(2);
x_same = ones(c,1);
y_same = ones(c,1);
x_diff1 = ones(c,1);
y_diff1 = ones(c,1);
x_diff2 = ones(c,1);
y_diff2 = ones(c,1);
for i=1:c-1
if (x(i) == x2(i)) && (y(i) == y2(i));
x_same (i) = x(i);
else
x_diff1(i) = x(i);
x_diff2(i) = x2(i);
y_diff1(i) = y(i);
y_diff2(i) = y2(i);
end
end
scatter(x_diff1,y_diff1,'g','g')
hold on
scatter(x_diff2,y_diff2,'r','g')
Matlab scatter 如何显示不同颜色点状
有时候需要在matlab scatter绘图中显示不同颜色区分,如下图是人体血压高压、低压与年龄关系的散点图。
红色点表示高压
绿色点表示低压
用 matlab 如何实现呢?
1.创建一维矩阵x,y1,y2 分别表示年龄、高压和低压
x=[75;78;51;82;77;88;41;78;78;61;71;74;62;81;75;64;80;72;51;80;56;73]
y1=[208;146;168;149;208;102;130;155;163;154;145;147;143;161;145;120;153;158;123;163;177;148]
y2=[111;80;115;74;85;71;77;89;90;90;90;77;86;90;74;78;98;87;81;76;94;99]
2.调用scatter方法
%绘制高压散点图,红色填充
>> scatter(x,y1,'r','field')
%保有已绘制图形
>> hold on
%绘制低压散点图,绿色填充
>> scatter(x,y2,'b','field')
或者使用半角逗号连接多个方法
>> scatter(x,y1,'r','field'),scatter(x,y2,'b','field')
3.scatter用法:
scatter(x,y)
scatter(x,y,sz)
scatter(x,y,sz,c)
scatter(x,y,sz,c,type)
x: x轴坐标数据
y: y轴坐标数据
sz: 图中标记大小,默认大小为36
c: 标记颜色
长名称 短名称 RGB 三元数
'yellow' 'y' [1 1 0]
'magenta' 'm' [1 0 1]
'cyan' 'c' [0 1 1]
'red' 'r' [1 0 0]
'green' 'g' [0 1 0]
'blue' 'b' [0 0 1]
'white' 'w' [1 1 1]
'black' 'k' [0 0 0]
type: 标记形状
值 说明
'o' 圆圈
'+' 加号
'*' 星号
'.' 点
'x' 叉号
'square' 或 's' 方形
'diamond' 或 'd' 菱形
'^' 上三角
'v' 下三角
'>' 右三角
'<' 左三角
'pentagram' 或 'p' 五角星(五角形)
'hexagram' 或 'h' 六角星(六角形)
'none' 无标记
a =[];
b=[];
c=30;
rddata = textread('D:\text.txt');
a = rddata;
for i=1:c
b(i)=a(i,1);
end
sdum = ones(20);
k = 1;
for j=1:29
if b(j) == b(j+1);
sdum(k) = sdum(k) + 1;
else
k = k +1;
end
end
fileID = fopen(‘airfoil.m’);