移动MATLAB轴的步数为半步

Nic*_*eet 4 grid matlab matlab-figure

我正在尝试将MATLAB的刻度定位为与我的网格对齐,但我找不到偏移标签的好方法.

另外,如果我跑set(gca,'XTickLabel',1:10),我的x刻度标签最终从1到5不等.

在此输入图像描述

the*_*alk 7

您需要移动刻度线,但之前获取标签并在移动后将其写回:

f = figure(1)
X = randi(10,10,10);
surf(X)
view(0,90)

ax = gca;
XTick = get(ax, 'XTick')
XTickLabel = get(ax, 'XTickLabel')
set(ax,'XTick',XTick+0.5)
set(ax,'XTickLabel',XTickLabel)

YTick = get(ax, 'YTick')
YTickLabel = get(ax, 'YTickLabel')
set(ax,'YTick',YTick+0.5)
set(ax,'YTickLabel',YTickLabel)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


或者,如果您之前了解所有内容,请从头开始手动执行:

[N,M] = size(X)

set(ax,'XTick',0.5+1:N)
set(ax,'XTickLabel',1:N)
set(ax,'YTick',0.5+1:M)
set(ax,'YTickLabel',1:M)
Run Code Online (Sandbox Code Playgroud)