Я пытался построить многократные непрерывные переменные временного ряда на одном участке с использованием ggplot2. Как там было много переменных, и я пытался использовать нормальное эстетическое отображение внутри для петли, как,Эстетическое картирование в внутренней петле ggplot
p1<-ggplot(df, aes(x=timVar))
ind<-c(2,4,5,6,8,9,10,12,13,15,17) # Index of the series that I wanted to plot
for(i in ind){
p1<-p1+geom_line(aes(df[,i]))
}
print(p1)
Поскольку это дало мне только сюжет последней серии, и я гугл какое-то решение, и, наконец, нашел тот, который имел предложил мне использовать функцию aes_string(). Я перестрою код как,
p1<-ggplot(df, aes(x=timVar))
ind<-c(2,4,5,6,8,9,10,12,13,15,17) # Index of the series that I wanted to plot
for(i in ind){
p1<-p1+geom_line(aes_string(names(df)[i]))
}
print(p1)
Это дало мне все необходимые мне строки. Однако, когда я пытался получить отдельный цвет для каждой переменной, я не мог получить дискретный цвет. Я использовал следующий код,
p1<-p1+geom_line(aes_string(names(df)[i], col=names(df)[i]))
Есть ли способ использовать aes_string и ОПЗ вместе внутри цикла или есть ли способ, чтобы генерировать дискретные значения цветов с меткой быть имена переменных.
Я не уверен, почему вы пытаетесь это сделать. Не могли бы вы предоставить свой df? –
Есть ли причина, по которой вы не хотите изменять свой набор данных в длинном формате? См. [Этот ответ] (http://stackoverflow.com/a/15988472/2461552) для примера. – aosmith