MATLAB - 绘制矩阵时更改刻度线值

时间:2011-11-10 03:46:34

标签: image matlab plot

目前,轴标记有表示其在矩阵中的索引的值。我想重新标记它们以对应于我的网格中的点。存在一对一的对应关系,因此这种映射确实合理。我怎么能做到这一点?

[x z] = meshgrid(-10:.25:10,-10:.25:10);
B = zeros(81,81);
for i=1:81
    for j=1:81
        [theta,phi,r] = cart2sph(x(i,j),0,z(i,j));
        Px = (1/16)*(r.^4).*exp(-r).*(sin(pi/2-phi).^2).*(cos(theta).^2);
        B(i,j)=Px;
    end
end

subplot(3,3,1);
imagesc(B);

Figure 1: Axes with undesirable labels.

1 个答案:

答案 0 :(得分:2)

只需向imagesc()添加参数,如下所示。您可以指定x和y范围。

x_range = [-10:.25:10];
z_range = x_range;
[x z] = meshgrid(-10:.25:10,-10:.25:10);
B = zeros(81,81);
for i=1:81
    for j=1:81
        [theta,phi,r] = cart2sph(x(i,j),0,z(i,j));
        Px = (1/16)*(r.^4).*exp(-r).*(sin(pi/2-phi).^2).*(cos(theta).^2);
        B(i,j)=Px;
    end
end

subplot(3,3,1);
imagesc(x_range,z_range,B);