第一次用Matlab画这种三维立体的图形,搞了半天发现这个样例图片真的是个坑!发现选择Matlab画这种图真的是大材小用了。
样例图片:
Matlab中有很多绘制三维立体图形的函数,搜了很多资料之后发现,slice函数比较适合画这种网状图,上代码:
[x,y,z]=meshgrid(0:1:4,0:1:5,0:1:4);
v=x.*y; %三维立体图形
xs=[0,1,2,3,4];
ys=[0,1,2,3,4,5];
zs=[0,1,2,3,4];
re=[1 1 1]; %设置颜色为白色
colormap(re)
set(gca,'XDir','reverse')%对X方向反转
%set(gca,'YDir','reverse')%对Y方向反转
slice(x,y,z,v,xs,ys,zs);%用切片的方式绘制网格图形
xlabel('time(季度)');
ylabel('item(类型)');
zlabel('location(城市)');
x1=1-0.5;
x2=2-0.5;
x3=3-0.5;
x4=4-0.5;
x5=5-0.5;
set(gca,