我使用以下代码行来绘制:
nthTheta=1;
gammaSurf=reshape(gamma(:,nthTheta,:),size(gamma,1),size(gamma,3));
figure
[spatial_lag,temporal_lag]=meshgrid(distance,4:4:12);
surf(gammaSurf,spatial_lag',temporal_lag')
colorbar
xlabel('Spatial Lag','Fontweight','Bold')
ylabel('Temporal Lag','Fontweight','Bold')
zlabel('\gamma (h,t)','Fontweight','Bold')
title('Spatiotemporal Empirical Variogram','Fontweight','Bold')
gammaSurf
矩阵具有以下值,表明其值正在发生变化:
我只用两种颜色得到以下图,而不是颜色的多种变化:
我做错了什么因为我没有得到一个我期望的多色变化的情节?谢谢!
答案 0 :(得分:1)
设置要插补的shading:
shading(gca,'interp');
应该这样做。
实际上,看起来你的surf
参数的顺序错误了。如果您希望z轴应用于gammasurf值,则需要将其作为第三个参数。
surf(spatial_lag',temporal_lag',gammasurf);
最后一个建议:如果你的确意味着gammasurf
是x值,但你想要那些是定义颜色的那个,那么使用它作为第四个参数(C
):< / p>
surf(gammasurf,spatial_lag',temporal_lag',gammasurf);
现在表面将像图像一样定向,但颜色随x值而不是z值变化。