addPlot
は(help(addPlot.RTF)
を参照)、plot.fun
に渡される関数ではなく、JPEGファイル名を必要とする機能「plot.fun」を見つけることができませんでした。
問題は、最初にjpegをプロットする必要があります。これは最も簡単なことではありません。
とにかく、this answerのおかげで、我々はそれを行うことができます。
とにかく
library(rtf)
# function defined in the linked answer
# Note: you need to install jpeg package first
plot_jpeg = function(path, add=FALSE){
require('jpeg')
jpg = readJPEG(path, native=T) # read the file
res = dim(jpg)[1:2] # get the resolution
if (!add) # initialize an empty plot area if add==FALSE
plot(1,1,xlim=c(1,res[1]),ylim=c(1,res[2]),asp=1,type='n',xaxs='i',
yaxs='i',xaxt='n',yaxt='n',xlab='',ylab='',bty='n')
rasterImage(jpg,1,1,res[1],res[2])
}
output<-"test.rtf"
rtf <- RTF(output,width=8.5,height=11,font.size=10,omi=c(1,1,1,1))
addPlot(rtf, plot.fun=function(){plot_jpeg('myfile.jpg')}, width = 4, height = 5, res=300)
# ...
done(rtf)
、あなたはJPEGイメージを持っている場合、私は単に、例えば、PNGにそれを変換して、便利な機能addPNG
を使用することをお勧め:
output<-"test2.rtf"
rtf <- RTF(output,width=8.5,height=11,font.size=10,omi=c(1,1,1,1))
addPng.RTF(rtf,file = "myfile.png", width = 4, height = 5)
# ...
done(rtf)
ありがとう、マーティン。これは本当に役に立ちました。私はあなたの迅速な対応に感謝します! – Soly