R将图例添加到图中

0 loops r title

我编写了以下脚本来生成for循环中的几个绘图,效果很好:

stat <- list.files("D:/...", pattern = "met")

par(mfrow = c(4, 4))
for (x in stat) {
plot((assign(x, read.csv(x, head=TRUE, sep=""))),typ="l", col="red")
}
Run Code Online (Sandbox Code Playgroud)

我现在想要实现的是根据读取的文件的名称递归地添加每个图形的标题.

希望这很清楚,

最好,

PS我也有另一个好奇心,但我可能会留下这个.

谢谢.

Jus*_*tin 5

是否添加title(main)参数来plot执行您要查找的内容?

plot((assign(x, read.csv(x, head=TRUE, sep=""))),typ="l", col="red", main=x)
Run Code Online (Sandbox Code Playgroud)

为OP评论编辑

你可以用gsub它.

plot((assign(gsub('\\.txt', '', x), 
      read.csv(x, head=TRUE, sep=""))),
     typ="l", 
     col="red", 
     main=gsub('\\.txt', '', x))
Run Code Online (Sandbox Code Playgroud)

但是,你正在使用的循环赋值构造是一个危险的习惯使用.通常这可以通过将所有文件作为列表读取然后lapply跨越它们,或者对该主题进行一些变化来完成.

assign除非您在此绘图步骤之后进行其他处理,否则您应该可以完全跳过该步骤.

plot(read.csv(x, head=TRUE, sep=""),
     typ="l",
     col="red",
     main=gsub('\\.txt', '', x))
Run Code Online (Sandbox Code Playgroud)

  • 这最好是作为一个不同的问题添加,但请参阅我的编辑. (2认同)