设置不同的刻度线长度

问题描述:

我有一个情节,我希望沿x轴有许多刻度,但只有一些刻度会有与它们相关的刻度标签。不过,我希望那些有标签的标记比那些标记更长。设置不同的刻度线长度

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

此外,设置XTickLength仅允许您设置每个刻度标记的长度,而不是选择性设置。

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

作为a similar question about tick labels说在this SO answeryuk

蜱标签不是单个对象。它们属于轴,它们的属性由轴确定。

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

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

另一种解决方案可能是将原始轴与第二个轴重叠,如suggestedbdecaf

+0

感谢您的链接。我想我会尝试通过创建具有不同刻度长度的第二个轴。我会使用copyobj吗? – Josiah 2012-02-09 16:43:23

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

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

enter image description here