Keep XTick but write out XTickLabel only in loglog plot
我在 loglog 系统中有一个带有 xlim([15 350]) 的情节。
我想保留网格的所有 XTick 线,但在标签上只写以下值:x=20,50,80,100,200.
我试过 set(gca,'XTick',[20,50,80,100,200]),然后中间的刻度(以及网格线)被删除。使用 set(gca,'XTickLabel',[20,50,80,100,200]) 也不起作用。 (我见过一个例子,其中定义了两个 Xtick 系列,分别标记,然后合并,但无法为我的案例工作,甚至不确定是否可能。)
希望能提供一些解决方案,这个简单的事情让我发疯了! :)
谢谢!
还尝试了删除所有 XtickLabels,创建一个新的
首先,将您的刻度设置到您想要的位置,包括次要刻度。
然后使用包含主要刻度值的单元格数组和次要刻度的空数组:
1 2
| set(gca, 'XTick', [10: 10: 90, 100: 100: 400]);
set(gca, 'XTickLabel', {[], 20, [], [], 50, [], [], 80, [], 100, 200}); |
- 如果我这样做,他们永远不会在正确的地方。每个数字出现在每 10 个刻度上(即 1e0、1e1、1e2 等)。尝试添加/删除空数组,但没有成功。刚刚尝试查找是否有 \\'XMinorTickLabel\\' 选项,但似乎没有。
-
如果你想完全控制你的刻度和标签,你需要先设置 XTick,然后设置 XTickLabel 留下一个空数组来代替你不需要文本的任何"次要"刻度出现。
-
多么简单!非常感谢!只是为了在这里找到解决方案:set(gca,'XTick',[10:10:90,100:100:400]) set(gca,'XTickLabel',{[],20,[],[],50,[],[],80,[],100,200});
-
@tkekesi我在我的答案中加入了最终解决方案,如果它解决了您的问题,您可以接受。