【问题标题】:correct axis range (matlab)正确的轴范围(matlab)
【发布时间】:2012-11-16 00:29:23
【问题描述】:

我怎样才能自动解决这两个图像的问题(使用适用于不同数据的代码)不必为每个图固定坐标轴范围(我有数百万这样的图)?

问题:轴范围应该更小

问题:轴范围应该更大

另外,我需要将轴从第一个值正确标记到最后一个值(请参见评论中的示例)

非常感谢任何帮助。非常感谢。

【问题讨论】:

  • 你用什么来绘制这些?取决于您如何自动设置轴的范围。请提供 MWE。
  • 你试过这个吗:mathworks.com/help/matlab/ref/axis.html
  • speedyshare.com/kXnhD/Untitled2.m - 这是代码。在图 1 中,如果您转到 x-z 视图,您会看到轴范围应该更大,而第二个更小。 简而言之,我希望情节不要完全封闭在窗口中。 我是在解释自己吗?非常感谢你。你能给我的任何帮助对我都很好。谢谢。
  • 另外,正如我所说,我需要从第一个值到最后一个值正确标记轴(如第一条评论中的示例)并由一个完整的矩形限制(限制绘图)。非常感谢。

标签: matlab axis-labels


【解决方案1】:

要设置轴限制并更好地可视化图表,您可以使用轴命令,如axis([xmin xmax ymin ymax]),其中参数设置图表边框。它应该可以帮助你。更多信息在这里: http://www.mathworks.se/help/matlab/ref/axis.html

【讨论】:

    【解决方案2】:

    为了有一个完整的边界框使用box on

    为了避免绘图周围出现大的空白空间(或根本没有空间),请使用xlimylim。请尝试以下操作:

    figure
    plot(x,y)
    box on
    
    x1 = min(x);
    x2 = max(x);
    dx = x2-x1;
    y1 = min(y);
    y2 = max(y);
    dy = y2-y1;
    
    fc = 10/100  % this is a factor of 10% of empty space around plot
    
    
    xlim([x1-dx*fc x2+dx*fc])
    ylim([y1-dy*fc y2+dy*fc])
    

    如果您想在轴的开始和结束处显示刻度值,您可以通过set(gca,'Xtick',[values]) 强制它,其中值是您要显示的刻度;或通过上述 xlim 和 ylim 最小和最大限制的 floorceil

    希望这是你需要的

    【讨论】:

    • 哦,非常感谢您的帮助,我多年来一直在尝试这个。我读了你告诉我的一切,谢谢。但我记得要正确绘制一个新事物。简而言之,缺少的是这个i49.tinypic.com/5agsn4.jpg[/IMG]。您对我如何实现这一目标有任何想法吗?非常感谢你的好意。这对我来说非常重要:) 谢谢
    • 我不知道 Matlab 是否可以做断轴(--//--),但您可以将下限(我的答案中的 x1 和 y1)都设置为 0。但这可能会使你的左上角的图太小。
    • 那么让 matlab 自动在图中写入最终 x 值和最终 y 值怎么样?你有什么主意吗?非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-01
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多