gpt4 book ai didi

r - 将图像(png 文件)添加到使用 R 创建的 pdf 文件的标题中

转载 作者:行者123 更新时间:2023-12-04 10:07:42 26 4
gpt4 key购买 nike

我正在尝试将 .png 图像( Logo )添加到使用 ggplot 创建并打印为 pdf 的图形的 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:

enter image description here

但是,我希望显示图像 ggplot区域外 .或者更具体地说,我希望图像显示在报告标题(左上角)中,如下例所示:

enter image description here

我发现以下函数可用于创建文本脚注,但不知道如何修改它以插入 .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()
}

任何帮助将不胜感激。

最佳答案

这里有一个建议,

library(ggplot2)
p.example = qplot(mpg, wt, data = mtcars)

library(grid)
library(gtable)
ann <- rasterGrob(mypng, width=unit(1,"cm"), x = unit(0.5,"cm"))
g <- ggplotGrob(p.example)

g <- gtable_add_rows(g, grobHeight(ann), 0)
g <- gtable_add_grob(g, ann, t=1, l=4)
grid.newpage()
grid.draw(g)

enter image description here

关于r - 将图像(png 文件)添加到使用 R 创建的 pdf 文件的标题中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26644728/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com