如何用matlab 画散点图 如何标记数据点的颜色
可使用scatter(x,y)函数来实现散点图并标记颜色。
scatter(x,y) :在向量 x 和 y 指定的位置创建一个包含圆形的散点图,该类型的图形也称为气泡图,可设置圆圈大小或者颜色、填充等。
scatter(x,y,sz,c): 指定圆颜色。要以相同的颜色绘制所有圆圈,请将 c 指定为颜色名称或 RGB 三元组。要使用不同的颜色,请将 c 指定为向量或由 RGB 三元组组成的三列矩阵。
代码示例:
x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);
sz = 25;
c = linspace(1,10,length(x));scatter(x,y,sz,c,'filled')
产生效果如下,符合题主要求的画散点图并且填充颜色:
扩展资料:
scatter(x,y,sz) 指定圆大小。要绘制大小相等的圆圈,请将 sz 指定为标量。要绘制大小不等的圆,请将 sz 指定为长度等于 x 和 y 的长度的向量。
scatter(___,'filled') 填充圆形。可以将 'filled' 选项与前面语法中的任何输入参数组合一起使用。
scatter(___,mkr) 指定标记类型。
scatter(___,Name,Value) 使用一个或多个名称-值对组参数修改散点图。例如,'LineWidth',2 将标记轮廓宽度设置为 2 磅。
scatter(ax,___) 将在 ax 指定的坐标区中,而不是在当前坐标区中绘制图形。选项 ax 可以位于前面的语法中的任何输入参数组合之前。
s = scatter(___) 返回 Scatter 对象。在创建散点图后,以后可使用 s 对其进行修改。
标记颜色,指定为下列形式之一:
RGB 三元组或颜色名称 - 使用相同的颜色绘制所有标记。
由 RGB 三元组组成的三列矩阵 - 对每个标记使用不同的颜色。矩阵的每行为对应标记指定一种 RGB 三元组颜色。行数必须等于 x 和 y 的长度。
向量 - 对每个标记使用不同的颜色,并以线性方式将 c 中的值映射到当前颜色图中的颜色。c 的长度必须等于 x 和 y 的长度。要更改坐标区的颜色图,请使用 colormap 函数。
如果散点图中有三个点,并且您希望这些颜色成为颜色图的索引,请以三元素列向量的形式指定 c。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]。此外,还可以按名称指定一些常见的颜色。下表列出长和短颜色名称选项以及对应的 RGB 三元组值。
参考资料来源:
plot(xdata,ydata,'color')
其中xdata是横轴数据,ydata是纵轴数据,color代表颜色,可以是
'r' 红色 'm' 粉红'g' 绿色 'c' 青色'b' 兰色 'w' 白色'y' 黄色 'k' 黑色
我的完整问题补充不出来了,我的意思是将记号为1的数据都标记成一种颜色,记号为2的数据都标记成一种颜色
这个没有问题,你在画点的时候,可以做个if判断,如下
for i=1:n %%%对于每一个数据点(共n个)
if label(i)==1
plot(xdata(i),ydata(i),'r') %%%红色
hold on;
else if label(i)==2
plot(xdata(i),ydata(i),'b') %%%蓝色
hold on;
end
end
这样即可
这只是一部分数据
数据多要什么紧的,我画过一大片海底的数据点!!!