【问题标题】:Keep XTick but write out XTickLabel only in loglog plot保留 XTick 但仅在 loglog 图中写出 XTickLabel
【发布时间】:2013-11-08 04:30:52
【问题描述】:

我在日志系统中有一个带有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,创建一个新的

【问题讨论】:

  • 我假设您想保留对数日志图的次要刻度?

标签: matlab plot


【解决方案1】:

首先,将您的刻度设置到您想要的位置,包括次要刻度。 然后使用包含 major 刻度值和 minor 刻度值的单元格数组:

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 我在回答中加入了最终解决方案,如果它解决了您的问题,您可以接受。
猜你喜欢
  • 2020-03-25
  • 2018-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-28
  • 1970-01-01
  • 1970-01-01
  • 2017-06-26
相关资源
最近更新 更多