4

我有一个图,其中我想要沿 x 轴的许多刻度,但只有一些刻度会有与之关联的刻度标签。但是,我希望那些有标签的刻度线比没有标签的刻度线长。

我知道您可以打开 x 轴 MinorTicks,但这不会让您控制这些刻度的实际位置。例如,如果 x 轴表示天数,我希望每 7 天标记一次,但每 28 天标记一次。

此外,设置XTickLengthonly 可以让您设置每个刻度线的长度,而不是选择性地设置。

什么是控制刻度长度的最佳方法,同时允许您准确指定刻度应该在哪里?

4

2 回答 2

4

正如yuk在这个关于刻度标签的类似问题的答案中所说:

刻度标签不是单独的对象。它们属于轴,它们的属性由轴确定。

您可以做的是删除刻度标签并将其替换为文本对象。在这种情况下,您可以控制文本属性。

我想这同样适用于刻度线,但它可能更棘手。

正如bdecaf所建议的那样,另一种解决方案可能是用第二个轴覆盖您的原始轴。

于 2012-02-09T00:27:14.200 回答
1

图形引擎的 R2014b 更新引入了以下非常简单的解决方案:

h = gca;
h.Box = 'off';
h.XRuler.TickLength = 50;
h.YRuler.TickLength = 30;

在此处输入图像描述

于 2015-11-15T13:46:09.287 回答