0
Как и любой метод использования geom_ribbon в цикле. Я стараюсь, но встречаюсь с проблемой. Это моя попытка:Как использовать geom_ribbon в цикле
library(ggplot2)
# Create data
huron <- data.frame(year = 1875:1972, level = as.vector(LakeHuron))
m <- 1500 #weight of shadow-line
#Base graph
h <- ggplot(huron, aes(year))+geom_line(aes(x=year, y=level), color='blue')+theme_bw()
count <- 5 # count shadow-lines
start_alpha <- 0.1 # Initial aplha
p <-h
for (i in 0:count-1)
{
p <- p +
geom_ribbon(aes(ymin=level-(level/m)*i, ymax=level-(level/m)*(i+1)), alpha=start_alpha-(start_alpha/count)*i, fill='blue')
}
print(p)
Я исследую результат. Кажется, что переменная i-цикла не используется по значению, а используется как указатель. Посмотрите на это:
i <- 0
print(p)
i <- 1
print(p)
Я могу ошибиться, но даже с 'данными (Гурон)' как подготовка вашей выше код не в моем R v3.2.5 с 'Ошибка в Eval (выражение, ENVIR , include): object 'level' not found' - и, может быть, это было бы хорошо для тех, кто хочет помочь, когда вы во втором примере (отладка гипотезы «Указатель»). Вы показываете значения, полученные из 'print (p)' звонки – Dilettant
Спасибо. print (p) - просто график графика ggplot. Strange, about LakeHuron. в строке huron <- data.frame (год = 1875: 1972, level = as.vector (LakeHuron)). Я создаю DataFrame из временных рядов –
Я думаю, что одна ошибка: '0: count - 1'. Это последовательность, которая начнется с -1. bly want '0: (count - 1)'. – Gregor