我正在处理一个涉及在 Matlab 中绘制一些坐标的小项目。
下面是我的 csv 文件的示例。数据总行数约为 160,000:
31040,55725,0
30930,55725,-1
30875,55630,3
30765,55630,0
30655,55630,5
30545,55630,0
前两列是 x,y 坐标,第三列是它们的值。数据是从 rpg 类型的游戏中生成的。玩家在给定坐标处做某事,然后他要么找到东西 (0 < z <= 23 ) 要么什么也没找到 (z = 0)。(z = -1 表示不确定,在这种情况下可以忽略)。由于玩家可以一遍又一遍地玩游戏,一些 x,y 坐标将具有相同或不同的值。
所以我想做的是制作一个 3D 图,显示坐标有多少次命中,以及命中的值是多少,有点像直方图?
我的值范围为 x:30000 - 33000,Y:55000 - 56000 和 z:-1 - 23。
我尝试在包含 5 行的示例文件上使用网格/网格网格并且它有效。但是,即使我尝试重新排列列或转置矩阵,x、y、z 坐标总是被错误地放置。
注意:当我使用原始文件尝试代码时,出现“内存不足”错误。Matlab不能取大量数据吗?还是我的代码?
我尝试的简单代码如下所示:
x = test(:, 1);
y = test(:, 2);
z = test(:, 3);
zz = [x,y,z];
%R = meshgrid(zz);
%mesh(R);
mesh(zz)
提前致谢!