Линия графика R напрямую как растровый массив без сохранения в файл - PullRequest
0 голосов
/ 29 мая 2020

Я искал, как рисовать напрямую как растровый массив, вместо того, чтобы рисовать в файл, а затем загружать его обратно. См. Код ниже

iter=1;
thumbnail_list=list();
tr=apply(datamatrix,1,function(x){
        png(sprintf("./tmpplot/p_%s.png",iter), height=40,width=80)    #plot to a png file
        par(mar=c(0,0,0,0));
        plot(x,type="l",xlab="",ylab="")
        dev.off()
        thumbnail_list[[iter]]<<-readPNG(sprintf("./tmpplot/p_%s.png",iter)).  #load it back to memory
        iter<<-iter+1
})

матрица данных содержит 100 строк, каждая строка 50 столбцов (т.е. каждая строка представляет собой строку с 50 точками). Я думаю, что моя текущая стратегия утомительна и должен быть способ лучше.

В основном я хочу сгенерировать график, помеченный как этот enter image description here В настоящее время мне нужно «построить каждое из этих небольших изображений в файл» отдельно и загрузить обратно через readPNG, и добавить для печати с растровым изображением.

Как избежать этапа «печать в файл»?

1 Ответ

0 голосов
/ 29 мая 2020

Это то, что вы ищете?

library(raster)
r <- raster(datamatrix)
plot(r)
image(r)

И более продвинутые возможности построения графиков в других пакетах

...