【发布时间】:2013-12-15 03:20:23
【问题描述】:
我使用回归函数来找到我绘制的一些数据的斜率。我设法将数据和拟合线都绘制在同一个图上。我知道如何明确拟合线是斜率,但我还想在图表的角落添加一个框(不关心在哪里),显示斜率的实际值(基本上显示回归的值函数返回),并且我正在尝试找到一种自动执行此操作的方法(例如是否有用于该功能的函数)。任何人都可以帮忙(我希望我能很好地解释我的问题......)?
【问题讨论】:
我使用回归函数来找到我绘制的一些数据的斜率。我设法将数据和拟合线都绘制在同一个图上。我知道如何明确拟合线是斜率,但我还想在图表的角落添加一个框(不关心在哪里),显示斜率的实际值(基本上显示回归的值函数返回),并且我正在尝试找到一种自动执行此操作的方法(例如是否有用于该功能的函数)。任何人都可以帮忙(我希望我能很好地解释我的问题......)?
【问题讨论】:
函数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'))进行更改。
【讨论】:
我没有尝试重新创建您的坡度线,但您是否考虑过使用注释?
例子:
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()。
【讨论】: