2012-12-14 56 views
4

我有一个数据集,我试图用lm()来拟合一个线性模型。这部分是直截了当的。如何在R中沿着直线或曲线书写文字?

我也可以使用abline(lm(x ~ y))来绘制散点图。

但是现在我想编写适合的参数,如adjusted r-squared沿线。
因此,如果我悬停绘制不同的数据集和它们各自的拟合,我应该能够打印出适合沿线的一些值。

是否有可能做到这一点在R.

+1

开始[这里](http://stackoverflow.com/q/7549694/324364),然后你只需要计算线的角度,并调整你放置文本的位置的基础上的一些模型的拟合值。 – joran

+0

@joran我看着它,并得到显示在该图中给出的信息是相对直截了当的。我仍在思考,但认为集体智慧可能会更好地解决这个问题。 – Sam

+3

[这是一个非常类似的问题](http://stackoverflow.com/questions/11767484/how-to-annotate-a-reference-line-at-the-same-angle-as-the-reference-line-本身/ 11767837#11767837),收到了几个很好的答案。 –

回答

3

是的,它很容易为直线做,曲线是棘手的,与等宽字体可能更简单。基本的技术就是转换你的线性方程,这样你就可以用一个角度得出一个极坐标表达式。使用该角度使用参数srt(来自图形参数)为text命令中的文本设置角度。

对于一条曲线来说,它会更棘手一些(也许通过非比例字体进行简化)。您需要为每个字母创建一个角度矢量,然后使用每个字符的宽度(使用strwidth)。您将为角色生成一个角度和位置矢量,并通过它们循环调用text。这里需要一个循环,因为text不能为srt参数采用向量。