matlab - 对矩阵中特定列的数据进行分组和绘图

标签 matlab

在矩阵中解析和分组数据后,我尝试在矩阵中散点绘制数据,但出现了一些错误。我解析和分组的数据矩阵如下所示:

a = [1.05 2.1 3.4 1; 1.06 2.2 3.6 1; 2.04 2.3 3.8 2; 2.15 2.2 4.0 2; 1.37 2.3 3.7 1;3.12 2.1 4.1 3;3.02 2.2 4.2 3;3.42 2.3 4.5 3;3.24 2.4 4.8 3]

a =

1.0500    2.1000    3.4000    1.0000
1.0600    2.2000    3.6000    1.0000
2.0400    2.3000    3.8000    2.0000
2.1500    2.2000    4.0000    2.0000
1.3700    2.3000    3.7000    1.0000
3.1200    2.1000    4.1000    3.0000
3.0200    2.2000    4.2000    3.0000
3.4200    2.3000    4.5000    3.0000
3.2400    2.4000    4.8000    3.0000

我对 a(:,1) 值进行四舍五入并将其放入 a(:,4) 中。

所需的绘图应如下所示(我在 Excel 中绘制它们):

enter image description here

基本上我需要根据 a(:,4) 中的值对数据进行分组。

我编写了以下代码:

splitapply(@(x,y)plot(x,y),a(:,2),a(:,3),findgroups(a(:,4)))

情节如下:

enter image description here

如何绘制如第一张图所示的数据(在 Excel 中绘制)?

最佳答案

你忘记坚持。添加一些更好的绘图选项:

hold on
% same thing you have but with markers!
splitapply(@(x,y)plot(x,y,'marker','.','markersize',20),a(:,2),a(:,3),findgroups(a(:,4)))
axis([2.05 2.45 0 6]) %same as excel
grid on

enter image description here

关于matlab - 对矩阵中特定列的数据进行分组和绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55144888/

相关文章:

matlab - 在matlab中将行中具有最小值的每个元素的值设置为1,将其他元素的值设置为0?

matlab - MATLAB 中的向量和矩阵有什么区别?

matlab - 自 "Jan 1, 0000": is this -1 BC or +1 CE? 起的序列日期号

matlab - 如何使用MATLAB获取水中气泡的边界并输出坐标?

python-3.x - 为图像形态Python创建结构元素

c - MATLAB C 编码器返回无效

matlab - Fortran与Matlab的通信

python - 脚本时间改进

matlab - 为向量中的数字分配等级

arrays - 对包含奇数大小数组的结构中的每个元素求和 [MATLAB]