【问题标题】:Editing distance between tick marks编辑刻度线之间的距离
【发布时间】:2018-05-31 16:38:16
【问题描述】:

我目前在MATLAB 中使用子图,这是我的 x 刻度线数据:[.4 .5 .6 .9 1.2 1.5 2 2.5 3 4 5 6 7 8 9 10 12 15 20 30 40]

我正在尝试确定是否有办法将刻度线均匀地隔开,或者扩大较低值的间距,以便您实际读取数字。简而言之,我希望刻度线的物理间距基于一些预定的常数,而不是实际的数值。

【问题讨论】:

  • set(gca,'xtick', [somenumbersyoulike])。只需将您喜欢的任何内容放入该向量中即可。
  • 这就是我正在做的。我的意思是,当您查看实际绘图时 0.4 和 .5 如此接近,您实际上无法读取数字,因此刻度仍需要为 0.4 和 0.5,但它们需要相距更远。
  • 我希望你意识到最后一句话是矛盾的。它们不能在一个位置,也不能在另一个位置。

标签: matlab


【解决方案1】:

您可以对 x 轴使用对数刻度 - 使用 semilogx 而不是 plot
(IMO 这在您的情况下会更好)

x = [.4 .5 .6 .9 1.2 1.5 2 2.5 3 4 5 6 7 8 9 10 12 15 20 30 40];
y = x/2; % some example data
figure
semilogx(x,y, '.')
set(gca,'xtick', x)

另一个选项是更改 x-ticks 设置 xticklabel 属性上的标签。请注意,您可以在 ticks 向量中设置自定义值。

x = [.4 .5 .6 .9 1.2 1.5 2 2.5 3 4 5 6 7 8 9 10 12 15 20 30 40];
y = x/2; % some example data
ticks = [];
for t = 1:size(x,2)
  ticks = [ticks t];
end
figure
plot(ticks, y, '.') % in this example same as 'plot(y)'
set(gca, 'xtick', ticks,'xticklabel', {.4 .5 .6 .9 1.2 1.5 2 2.5 3 4 5 6 7 8 9 10 12 15 20 30 40})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-03
    • 2014-02-20
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多