我有一个简单的函数来绘制Voronoi图,这在绘制2D轴时效果很好。但是,当我在3D轴上的平面上绘制2D网格时,它会溢出。
以下是代码:
function plotHexGrid(X, Y, m, n)
f1 = figure
[XV YV] = voronoi(X(:),Y(:));
plot(XV,YV,'b-');
axis([1 m 1 n])
f2 = figure
Z = ones(size(XV));
plot3(XV,YV,Z,'b-');
axis([1 m 1 n 0 10])
saveas(f1,'hexgrid2D.jpg');
saveas(f2,'hexgrid3D.jpg');
end
所以我想让网格只显示在轴边界内并隐藏溢出。我无法使用Google找到任何解决方案,所以我只尝试了以下内容,但没有成功:
xlim([1, n]);
ylim([1, m]);
更新:
我有以下X,Y,m和n值:
X = [0 3.4641 6.9282 10.3923 13.8564 17.3205 20.7846 24.2487;
0 3.4641 6.9282 10.3923 13.8564 17.3205 20.7846 24.2487;
0 3.4641 6.9282 10.3923 13.8564 17.3205 20.7846 24.2487;
0 3.4641 6.9282 10.3923 13.8564 17.3205 20.7846 24.2487;
0 3.4641 6.9282 10.3923 13.8564 17.3205 20.7846 24.2487;
0 3.4641 6.9282 10.3923 13.8564 17.3205 20.7846 24.2487;
0 3.4641 6.9282 10.3923 13.8564 17.3205 20.7846 24.2487;
0 3.4641 6.9282 10.3923 13.8564 17.3205 20.7846 24.2487];
Y = [0 2 0 2 0 2 0 2;
4 6 4 6 4 6 4 6;
8 10 8 10 8 10 8 10;
12 14 12 14 12 14 12 14;
16 18 16 18 16 18 16 18;
20 22 20 22 20 22 20 22;
24 26 24 26 24 26 24 26;
28 30 28 30 28 30 28 30];
m = 20;
n = 20;
答案 0 :(得分:2)
即使没有xlim
和ylim
位,提供的代码也可以在Mac R2014b上正常运行。您可能希望在与您的系统/版本不同的系统/版本上进行尝试。看起来像某种图形错误......或者,您可以将其报告给TheMathWorks。
您可能还想旋转二维图形以获得图表的三维版本(使用rotate
或鼠标)。