matlab坐标
我正在处理一个小项目,涉及在Matlab中绘制一些坐标 下面是我的csv文件示例。总数据行数约为160000: 3104055725,0matlab坐标,matlab,3d,coordinates,mesh,Matlab,3d,Coordinates,Mesh,我正在处理一个小项目,涉及在Matlab中绘制一些坐标 下面是我的csv文件示例。总数据行数约为160000: 3104055725,0 3093055725,-1 3087555630,3 307655630,0 3065555630,5 30545555630,0 前两列是x,y坐标,第三列是它们的值。 这些数据是由rpg游戏生成的。玩家在给定的坐标下做一些事情,然后他会找到一些东西(0
3093055725,-1
3087555630,3
307655630,0
3065555630,5
30545555630,0
前两列是x,y坐标,第三列是它们的值。 这些数据是由rpg游戏生成的。玩家在给定的坐标下做一些事情,然后他会找到一些东西(0
sel = test(:,3) > 0; % work only with z>0
x = test(sel,1) - min(test(sel,1)) + 1; % convert from x to legitimate indices
y = test(sel,2) - min(test(sel,2)) + 1;
a = accumarray( {x, y}, test(sel,3), [max(x) max(y)], @numel, [], true );
% plot using bar3
bar3( a, 1, 'detached' );
我会用这个:
[X,Y] = meshgrid(30000:33000,55000:56000);
Z=zeros(size(X));
Z(31040-30000+1,55725-55000+1) = 0;
Z(31930-30000+1,55725-55000+1) = -1;
Z(30875-30000+1,55630-55000+1) = 3;
mesh(Z)
请注意:
-尺寸(X)==尺寸(Y)
所以我要做的是做一个3D图,显示坐标有多少次命中,命中值是多少,有点像直方图
您可以增加适当的Z(i,j)字段来计算坐标出现的频率。这是我认为应该是这样的,但您不希望我绘制160000行Z(x,y)=值;在我的代码文件中?我正在考虑一种类似于@Shai-answer的方法。无论如何,这段代码似乎有两个问题。虽然它似乎有效,但我从图中读取的值并非100%正确?如果可能的话,我还想获得每个z值的真实坐标。这将使从图中读取更容易谢谢你对你和Shai的快速回复
[X,Y] = meshgrid(30000:33000,55000:56000);
Z=zeros(size(X));
Z(31040-30000+1,55725-55000+1) = 0;
Z(31930-30000+1,55725-55000+1) = -1;
Z(30875-30000+1,55630-55000+1) = 3;
mesh(Z)