【问题标题】:How to display slope on a plot in Matlab如何在 Matlab 中的绘图上显示斜率
【发布时间】:2013-12-15 03:20:23
【问题描述】:

我使用回归函数来找到我绘制的一些数据的斜率。我设法将数据和拟合线都绘制在同一个图上。我知道如何明确拟合线是斜率,但我还想在图表的角落添加一个框(不关心在哪里),显示斜率的实际值(基本上显示回归的值函数返回),并且我正在尝试找到一种自动执行此操作的方法(例如是否有用于该功能的函数)。任何人都可以帮忙(我希望我能很好地解释我的问题......)?

【问题讨论】:

    标签: matlab plot


    【解决方案1】:

    函数text 将文本添加到图形。它需要一个位置和一个字符串来显示。此外,您可以高度自定义文本的外观。例如:

    x = 1:100;
    y = randn(size(x)) + 0.3*x;
    plot(x,y,'.');
    
    p = polyfit(x,y,1);
    hold on;
    plot(x, polyval(p,x),'k-');
    
    h = text(min(xlim(gca)), max(ylim(gca)), ...
        sprintf('%fx + %f', p(1), p(2)),...
        'verticalalignment','top',...
        'horizontalalignment','left');    
    

    然后,要查看您可以更改的各种设置,请查看:

    get(h)
    

    这些属性几乎都可以在创建时(如上面的 verticalalignment)或创建后(例如 set(h, verticalalignment, 'top'))进行更改。

    【讨论】:

      【解决方案2】:

      我没有尝试重新创建您的坡度线,但您是否考虑过使用注释?

      例子:

      x = [-1:.2:1];
      plot(x,x.^2,'-bo');
      annotation('textbox', [.4 .4 .1 .1], 'String', ...
                          ['slope at x = 0.6 is: ',num2str(2*.6)]);
      

      其中显示:

      当然,您可以控制框的位置、格式等。

      查看帮助文件以获取更多详细信息。在某些情况下,您还可以考虑使用 legend()。

      【讨论】:

      • 谢谢!我最喜欢这个解决方案,效果很好且简单!
      猜你喜欢
      • 1970-01-01
      • 2021-06-28
      • 2019-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多