在R中每次迭代后添加到图例

时间:2016-06-21 15:09:30

标签: r plot regression legend

我正在使用lty命令绘制几个回归线,通过设置abline来区分为R中的一个图形。

现在,我正在尝试在情节中添加一个图例,以帮助读者解读它。它应该是一个非常基本的传奇:

  

线型X =变量1

     

线型Y =变量2等

现在legend() cols=c(0:length(v)) count=1 for (v in variables) { ... lmodel=lm(v~x); abline(lmodel, lty=cols[count]); count=count+1 ... } } 对我来说完全合情合理,但我一次只能写出一个传奇。

  • 有什么办法可以迭代建立这个传说吗?即加 绘制线条类型和变量为空白图例?

  • 或者我必须收集所有信息并在绘图后写下来 已经完成了?如果是这样,最优雅的方法是什么?

如果我可以依赖标准软件包来使代码更具可移植性,那就太棒了。

显然有一些方法可以在documentation中执行此操作,但我找不到R的任何内容。

这是我的代码:

DataSet

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

这个从循环的所有重复中收集图例文本的最小工作示例应该很容易适应您的问题:

# dummy plot
plot(iris[,1:2])
# empty legend text
legend_text <- c()
for (v in 1:4) {
    abline(v,0, col = v, lty = v)    
    # add next legend text
    legend_text <- c(legend_text, v)  
}
# plot legend once
legend('topright', legend = legend_text, lty=1:4, col=1:4)

还有一件事:如果您在使用矢量时遇到问题,请考虑改用list()