R语言 使用循环函数绘制多列

zqdjd7g9  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(119)

我尝试使用数据集的列绘制2,695个不同的图。x轴对于所有数据集都是恒定的,即“仪器.过饱和度”列。至于y轴,它将是带有日期和时间标签的其余列。

我试着用下面的代码使用loop函数绘制所有2,695个曲线图。代码运行正常,它将x轴点显示为仪器的过饱和度值,但我在使用色谱柱的浓度绘制y轴时遇到了麻烦,因此它在曲线图上给予一条直线。

library(ggplot2)

col_names <- colnames(rotated.plot.data)
col_names <- col_names[-1]

for(i in col_names){
plot <- ggplot(rotated.plot.data, aes(x=rotated.plot.data$instrument.supersaturation, y="i"))+
geom_point()
print(plot)}

hl0ma9xz

hl0ma9xz1#

用你的方法试过了。错误是由引号中的- i引起的,因为ggplot无法识别它。sym函数删除引号,eval函数将作为表达式对其求值。如果你熟悉map(),Phils方法会容易得多。

library(ggplot2)
library(tidyverse)

iris<-iris %>% select(-c(Species))

for(i in 1:(length(colnames(iris))-1)){
  plot <- ggplot(iris, aes(x=Sepal.Length, y=eval(sym(colnames((iris[i+1]))))))+
    geom_point()
  print(plot)}

相关问题