Я использую R для построения графика, пытаясь условно изменить части массива
на основе столбцов массива.
Я разработал следующие шаги:
x<-array(1,dim=c(4,4,3))
r<-x[,,1]
g<-x[,,2]
b<-x[,,3]
r1<-apply(r[,2:3],1:2,function(f){return(0)})
g1<-apply(g[,2:3],1:2,function(f){return(0)})
b1<-apply(b[,2:3],1:2,function(f){return(0)})
r3<-cbind(r[,1],r1,r[,4])
g3<-cbind(g[,1],g1,g[,4])
b3<-cbind(b[,1],b1,b[,4])
# Pass to pixmapRGB
Это работает, но, поскольку я новичок в R, мне было интересно, если
был более эффективный способ манипулирования частями
массива.
Например, приложение знает, над каким элементом он работает?
В целом я хочу построить график разброса временных рядов.
сюжет на многих страницах.
Я бы хотел, чтобы в углу страницы была миниатюра
график всей серии. Я хотел бы покрасить часть
этот эскиз другого цвета, чтобы указать, какой диапазон
текущая страница проверяется.
Существует много данных, поэтому невозможно перерисовать новый участок
для миниатюры на каждой странице.
Что я сделал, так это сначала записал эскиз в файл формата TIFF.
Затем я прочитал TIFF файл обратно, использовал getChannels из pixmap
разбить картинку на массивы и использовать приведенный выше код для изменения
некоторые пиксели основаны на столбце.
Наконец, я затем печатаю изображение в окне просмотра, используя
pixmapRGB / pixmapGrob / grid.draw
Кажется, много шагов. Буду благодарен за любые указатели
это помогло бы мне сделать это более эффективным.