将 MATLAB 轴移动半步 [英] Moving MATLAB axis ticks by a half step

查看:11
本文介绍了将 MATLAB 轴移动半步的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm trying to position MATLAB's ticks to line up with my grid, but I can't find a good way to offset the labels.

另外,如果我运行 set(gca,'XTickLabel',1:10),我的 x 刻度标签最终会在 1 到 5 之间.什么给出?

Also, if I run set(gca,'XTickLabel',1:10), my x tick labels end up ranging from 1 to 5. What gives?

推荐答案

你需要移动刻度,但是获取之前的标签,移动之后再写回来:

You need to move the ticks, but get the labels before and write them back after moving:

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)

或者,如果您以前知道所有内容,请从头开始手动操作:

Or if you know everything before, do it manually from the beginning:

[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)

这篇关于将 MATLAB 轴移动半步的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆