我想添加一个.png图像(标志)到我的pdf格式报告的图形使用ggplot创建并打印到PDF的标题。添加图像(PNG文件)到用R创建的pdf文件的标题
我发现以下示例如何将图像添加到ggplot图。但是,我正在寻找将.png图像添加到位于ggplot区域之外的pdf标题。
#-------------------------------------------------------------------------------
# Example png file
#-------------------------------------------------------------------------------
library(reshape2)
library(png)
mypngfile = download.file('http://api.altmetric.com/donut/502878_64x64.png',
destfile = 'mypng.png', mode = 'wb')
mypng = readPNG('mypng.png')
#-------------------------------------------------------------------------------
# create example plot using mtcars data frame from ggplot
#-------------------------------------------------------------------------------
library(ggplot2)
p.example = qplot(mpg, wt, data = mtcars) +
annotation_raster(mypng, ymin = 4.5, ymax= 5, xmin = 30, xmax = 35)
#-------------------------------------------------------------------------------
# print to pdf file with footnote
#-------------------------------------------------------------------------------
fname = "C:/temp/my report.pdf"
pdf(fname, 10.75, 6.5, onefile=TRUE, paper="a4r")
print(p.example)
dev.off()
...其产生的PDF格式,看起来像这样:
但是,我想形象展现出来的ggplot区域之外。或者更具体地说,我希望图像在报告标题中显示(在左上角),如下面的例子:
我发现下面的功能,可用于创建文本的注脚,但WASN不知道如何修改它来插入.png图片。
makeFootnote <- function(footnoteText= format(Sys.time(), "%d %b %Y"),
size= .4, color= grey(.5))
{
require(grid)
pushViewport(viewport())
grid.text(label= footnoteText ,
x = unit(1,"npc") - unit(12, "mm"),
y = unit(0.1, "mm"),
just=c("right", "bottom"),
gp=gpar(cex= size, col=color))
popViewport()
}
任何援助将不胜感激。
你用乳胶或降价?如果是的话,那么你可以使用'wallpaper'包装:'\ ULCornerWallPaper {1} {path/to/logo}; \ includegraphics {path/to/ggplot/image}' – tonytonov 2014-10-30 07:29:03
@Tonytonv:谢谢您的回复。为了澄清,我的图像不是ggplot的产品,而是保存的图像(即.png文件)。我会看看乳胶和降价,但认为应该有一个简单的方法来做到这一点与基本图形。不幸的是,我已经走了ggplot路线,所以我不熟悉基础图形。再次感谢您的建议。 – MikeTP 2014-10-30 15:29:01
请注意,PDF规范不支持PNG。因此,在插入之前,您的PNG将被转换为其他内容,可能是JPEG。我建议你自己做这种转换,以你想要的格式,以你想要的质量进行,这样你就可以确定最终产品的质量。我会推荐JPEG2000。 – Alasdair 2014-11-16 18:02:42