Matlab scatter 如何显示不同颜色点状

本贴最后更新于 1129 天前,其中的信息可能已经事过景迁

有时候需要在 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' 无标记
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    60 引用 • 28 回帖
  • scatter
    1 引用

赞助商 我要投放

回帖
请输入回帖内容 ...