在2D空间中绘制4D矩阵

14 views (last 30 days)
Imad El Ddine Ghandour
Imad El Ddine Ghandour 在2021年9月10日
回答: 骑自行车的人 在2021年9月11日
你好,
我想在2D平面中绘制4D点的散点图。
这是我正在使用的代码中的一行:
绘图(data(::,1),data(:,2),data(:3),data(:4), 'k。' );
每当我绘制数据时,其中一些图和其中一些图都会带有随机的garabage行。
附件是通过使用上述代码线得到的结果的屏幕截图。
如何将其绘制在2D中?
谢谢!

答案(1)

骑自行车的人
骑自行车的人 在2021年9月11日
您正在以您希望其工作的方式使用绘图命令,而不仔细了解语法如何 实际上 作品。您不能仅仅将四列数据放入命令中,并希望它可以做您想要的。
这是一些简化的数据,以及您的绘图代码:
数据= [1 1 4 4;
2 3 5 6;
3 2 6 5];
数字
h = plot(data(::1),data(::,2),data(:3),data(:4),'k。');
设置(h,“标记”,16)%添加它以使点更明显
如果您仔细阅读文档,您会发现您的代码彼此绘制了两对数据: 数据(:,1) vs 数据(:,2) , 和 数据(:,3) vs 数据(:4) 。然后,您将“ linesPec”(黑点)添加到第二对图中,而第一组使用默认值,即蓝线。
该代码在功能上等同于
数据= [1 1 4 4;
2 3 5 6;
3 2 6 5];
数字
抓住
图(data(::,1),data(::,2));%第一图,默认为蓝线连接点
h = plot(data(:3),data(::,4),'k。');%第二图,使用黑点
设置(h,“标记”,16)
对我来说还不清楚你什么 实际上 想要情节。如果您希望将4维数据的投影投影到两个维度上,那么我相信您只是忽略了第3和4维度,然后绘制
数字
h = plot(data(:1),data(::,2),,'k。');
设置(h,“标记”,16)

社区寻宝

在Matlab Central中找到宝藏,发现社区如何为您提供帮助!

开始狩猎!

被某某人翻译