Построение нескольких линий (спектров) на одном участке - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь построить много линий на одном графике, используя для l oop. Я читаю в CSV спектров для 3,106 пикселей, поэтому 3,106 строк

    lat       lon     X400 X412.5 X442.5 X490 X510 X560 X620 X665 X673.75 X681.25 X708.75 X753.75 X778.75 X865 X885 X1020
1 39.65117 -77.37533    0      0      0    0    0    0    0    0       0       0       0       0       0    0    0     0
2 39.65321 -77.37149    0      0      0    0    0    0    0    0       0       0       0       0       0    0    0     0
3 39.65266 -77.36843    0      0      0    0    0    0    0    0       0       0       0       0       0    0    0     0
4 39.65157 -77.36229    0      0      0    0    0    0    0    0       0       0       0       0       0    0    0     0
5 39.65103 -77.35923    0      0      0    0    0    0    0    0       0       0       0       0       0    0    0     0
6 39.65306 -77.35539    0      0      0    0    0    0    0    0       0       0       0       0       0    0    0     0

Я пытаюсь построить каждую линию на одном графике, используя код:

data <- read.csv(file = "E:/S3_Backup_Anna/S3_L3/pixel_spectra.csv", header=T)
wavelengths <- c(400, 412.5, 442.5, 490, 510, 560, 620, 665, 673.75, 681.25, 708.75, 753.75, 778.75, 865, 885, 1020)
spectra <- data.frame(subset(data, select = c(3:18), header=T, na.rm = T))

#plot all spectra
plot(1, xlim=c(400, 1100), ylim = c(0, .05), main = "", xlab = "Wavelength", ylab="Rrs")
cols <- rainbow(120)
for (i in nrow(spectra)) {
  lines(wavelengths, spectra[i,]) #, type = "l", col = cols[i], lwd=2)
}

Код выполняется, но только линии, соответствующие 0 строятся. Как мне получить все мои линии для сюжета? У меня есть много строк со значениями, но большинство из них 0. У меня также есть некоторые NaN в data.frame, как мне игнорировать NaN в этом коде? enter image description here

...