MATLAB contour 和 contourf 函数 简单例子
x = -10:0.1:10; y = 0:0.1:5; % 横向201个数 纵向51个数
[X,Y] = meshgrid(x,y); % meshgrid 函数 使得 向量x生成y行的x(每一行都是x,共y行)
% Y 使得 向量y生成x列的y(每一列都是y,共x列)
Z = X+Y ; % 注意Z的左上角是该矩阵最小值,右下角为最大值
figure()
subplot(2,2,1); contour(x,y,Z) % Z的矩阵左下角是最小值,右上角最大值
subplot(2,2,2); contour(X,Y,Z) % 与Z一样大小的矩阵
subplot(2,2,3); contourf(x,y,Z); axis xy; title('axis xy')
subplot(2,2,4); contourf(x,y,Z); axis ij; title('axis ij')
下图是Z的矩阵元素大小,左上角是最小的数,右下角是最大的数,沿对角线数值增大
以下4个子图 上面的两个子图的结果是等效的; 注意看左下角的第三张子图,效果相比上面两张图是填充了颜色,右下角的第四张子图,y的方向是从上往下 坐标轴标注值递增,前三张子图y的方向是从下往上 坐标轴标注值递增。相比于Z矩阵元素的排列方式。第四张图的结果和矩阵元素(上面两张Z的元素)是一样的,前三张子图y则要上下翻转。
在绘制一张全球地图时,应该注意y的翻转情况。(axis xy 是默认设置 axis ij 则是和矩阵元素一样排列)