matlab - 如何更改图像轴标签

标签 matlab matlab-figure

我试图用一些纬度/经度更改图像轴标签,但我找不到如何做。我尝试了一些基本命令,例如:

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 :

enter image description here

最佳答案

根据你的问题,我推断你想将 x 轴标签设置为 -180 到 180,将 y 轴标签设置为 -90 到 90。为此,你应该更改 XTickLabelYTickLabel 轴对象的属性(请注意,您还需要通过修改 XTickYTick< 来调整每个轴中的刻度数 相应的属性)。

因此,假设您的图像存储在矩阵 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(:)))

它应该是这样的:

enter image description here

关于matlab - 如何更改图像轴标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15071088/

相关文章:

c++ - 无法将参数 2 从 'mxArray **' 转换为 'mwArray &'

matlab - 使用 mexopencv 提取简要特征

matlab - Matlab 中的向量化矩阵和向量运算

matlab - 是否有可能绕过 MATLAB 对矢量格式文件中字体嵌入的限制?

matlab - 在多监视器配置中确定 MATLAB 的监视器

algorithm - MATLAB:在矩阵中使用函数时避免循环

python - 从 matlab 到 python 的代码转换

matlab - matlab 图中的子图标签

matlab - 在子图中设置两个 y Axis 颜色

matlab - 删除 Matlab 图周围的边框