我试图用一些纬度/经度更改图像轴标签,但我找不到如何做。我尝试了一些基本命令,例如:
imagesc(data)
axis(meshgrid([-180:20:180],[-90:20:90]))
colorbar
但是出现了这些表情:
imagesc(data),axis(meshgrid([-180:20:180],[-90:20:90])), colorbar Operands to the || and && operators must be convertible to logical scalar values.
Error in axis>allAxes (line 448) result = all(ishghandle(h)) && ... Error in axis (line 57) if ~isempty(varargin) && allAxes(varargin{1}).
有人能帮帮我吗?仅供引用,我的图像轴标签是数据顺序(从 0 到 N)。
我想要的结果是一幅看起来像世界地图的图像,以标线/网格线为轴。它应该看起来像 this :
最佳答案
根据你的问题,我推断你想将 x 轴标签设置为 -180 到 180,将 y 轴标签设置为 -90 到 90。为此,你应该更改 XTickLabel
和 YTickLabel
轴对象的属性(请注意,您还需要通过修改 XTick
和 YTick< 来调整每个轴中的刻度数
相应的属性)。
因此,假设您的图像存储在矩阵 data
中并使用 imagesc(data)
显示它,下面是如何更改 x- 中的刻度标签轴从 -180 到 180:
xticklabels = -180:20:180;
xticks = linspace(1, size(data, 2), numel(xticklabels));
set(gca, 'XTick', xticks, 'XTickLabel', xticklabels)
同样,以下是将 y 轴上的刻度标签更改为从 -90 到 90 的方法:
yticklabels = -90:20:90;
yticks = linspace(1, size(data, 1), numel(yticklabels));
set(gca, 'YTick', yticks, 'YTickLabel', flipud(yticklabels(:)))
它应该是这样的:
关于matlab - 如何更改图像轴标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15071088/