У меня очень простая петля, которая пытается нарисовать четыре кривые на одном графике, используя ggplot
. Вот код:кривые добавления цикла ggplot не работают, но работают по одному
df = data.frame(x=0:10/10)
gg = ggplot(df)
for (t in 4:1/4)
gg = gg + geom_path(aes(x,x^t))
gg
Когда я запустил его, он отображает только последний график. Если я добавлю их по одному, например:
df = data.frame(x=0:10/10)
gg = ggplot(df)
gg = gg + geom_path(aes(x,x^1.00))
gg = gg + geom_path(aes(x,x^0.75))
gg = gg + geom_path(aes(x,x^0.50))
gg = gg + geom_path(aes(x,x^0.25))
gg
он работает нормально. Может ли кто-нибудь объяснить магию?
Вам необходимо захватить окружающую среду (текущее значение t на каждом этапе), в противном случае только последний будет существовать к моменту, когда ggplot2 фактически построит график – baptiste
Вы проверили это [решение] (http://stackoverflow.com/вопросы/26235825/для цикла только-добавляет-на-конечный-ggplot-слой)? –