【问题标题】:R convert string to imageR将字符串转换为图像
【发布时间】:2020-01-09 09:28:41
【问题描述】:

我有一个数据框 df

我想将每个 df$text 值转换为图像,并将其导出为图像。

我尝试将每个 df$text[i] 导出为 .txt 文件,然后导出为 .pdf,然后导出为图像,但在这种情况下,我得到了一个 A4 尺寸的图像,其中包含文本字符串。我想要的只是一张图片,它将被文本字符串 100% 覆盖。

有没有相关的函数可以将文本字符串直接转换成图片?

【问题讨论】:

    标签: r image converters


    【解决方案1】:

    您可以使用基础 R 绘图。

    例如,您可以创建一个函数textPlot,它将绘制您的字符串并保存它。然后您可以为数据集的每一行调用它:

    textPlot <- function(plotname, string){
      par(mar=c(0,0,0,0))
      pdf(paste0(plotname, ".pdf"))
      plot(c(0, 1), c(0, 1), ann = F, bty = 'n', type = 'n', xaxt = 'n', yaxt = 'n')
      text(x = 0.5, y = 0.5, paste(string), cex = 4, col = "black", family="serif", font=2, adj=0.5)
      dev.off()
    }
    

    如果您想更深入地了解正在发生的事情,请查看R - Plot Only Text

    然后,调用textPlot('mytext', 'Hello World') 将图像mytext.pdf 保存在工作目录中:

    【讨论】:

    • 是否有文字覆盖 100% 的导出 pdf?非常感谢
    • 据我所知。您可以增加text() 函数中的cex 值以获得更大的字符串。但它不会适应您的字符串长度,除非您自己编写(例如,您可以根据字符串长度设置 cex 值作为解决方法)。
    • 谢谢,增加 cex 值和裁剪功能,应该可以完成我需要的技巧,以便从文本中生成小图像
    猜你喜欢
    • 2018-09-07
    • 2019-02-12
    • 2013-07-23
    • 2014-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    • 1970-01-01
    相关资源
    最近更新 更多