关于matlab:保留XTick但只在loglog plot中写出XTickLabel

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});