美文网首页
R语言输出可编辑的图片

R语言输出可编辑的图片

作者: 小蜜蜂Stats | 来源:发表于2021-06-24 23:51 被阅读0次

ggplot2程序包的加持下,R语言可以做出非常漂亮的统计图出来。然而大家是否会有这样的体会,为了做出理想的图片,需要不停的调整作图的参数,包括颜色,字体大小,字体格式,注释的位置,非常麻烦。尤其是与别人进行科研合作,图片的绘制需要不停地进行沟通,甚至需要动用PS,GIMP等工具。

大家有没有想过可以像下面的动图展示的那样,可以对图片的任意元素进行修改呢???

本文给大家介绍一种解决方案,可以将R语言绘制的图片以元数据(点,线,面,颜色,形状等等)的方式保存到PPT文件中,在PPT中进行修改。

figure_modify.gif

软件包

  • officer程序包:一个从R端访问和编辑word和PPT文件的程序包。
  • rvg程序包:一个为PPT和Excel生成矢量图的程序包。

两款程序包,均可以从CRAN进行安装,安装命名如下:

install.packages(c('officer', 'rvg'))

实现方法

  1. R图格式转换
    通过rvg中的dml函数进行转换,可以将R生成两类图,Graphics和ggplot图,转换成PPT可以直接导入的格式。
  • Graphics图: 首先找一段生成决策曲线的代码
data(dcaData)
set.seed(123)
baseline.model <- decision_curve(Cancer~Age + Female + Smokes,
                                data = dcaData,
                                thresholds = seq(0, .4, by = .005),
                                bootstraps = 10)
full.model <- decision_curve(Cancer~Age + Female + Smokes + Marker1 + Marker2,
                            data = dcaData,
                            thresholds = seq(0, .4, by = .005),
                            bootstraps = 10)

plot_decision_curve( list(baseline.model, full.model),
                    curve.names = c("Baseline model", "Full model"),
                    col = c("blue", "red"),
                    lty = c(1,2),
                    lwd = c(3,2, 2, 1),
                    legend.position = "bottomright")

最后的代码段是作图的命令,我们只需要将最后一段进行如下操作,即将其赋值给dml函数的code参数。

p.dca <- dml(code = {
  plot_decision_curve( list(baseline.model, full.model),
                    curve.names = c("Baseline model", "Full model"),
                    col = c("blue", "red"),
                    lty = c(1,2),
                    lwd = c(3,2, 2, 1),
                    legend.position = "bottomright")
})
  • ggplot图:同样找一段生成频数分布对比柱状图的代码:
ggbarstats(
  data = mtcars,
  x = vs,
  y = cyl
)

对该作图代码做如下修改,将它赋值给dml函数中的ggobj参数:

p.bar <- dml(ggobj = {
  ggbarstats(
  data = mtcars,
  x = vs,
  y = cyl
)
})
  1. 导入PPT
    使用officier包将前面生成p.dcap.bar输出到PPT中。会用到以下函数:
  2. 打开PPT--read_pptx
  3. 添加页面--add_slide
  4. 导入图片--ph_with
  5. 保存PPT--print
    具体操作如下:
pptx <- read_pptx()
pptx <- add_slide(pptx)
ph_with(pptx, value = p.dca, 
        location = ph_location_type(type = 'body'))

pptx <- add_slide(pptx)
ph_with(pptx, value = p.bar, 
        location = ph_location_fullsize())

print(pptx, 'output.pptx')

相关文章

  • R语言输出可编辑的图片

    在ggplot2程序包的加持下,R语言可以做出非常漂亮的统计图出来。然而大家是否会有这样的体会,为了做出理想的图片...

  • R语言输出ppt可编辑的图片

    在ggplot2程序包的加持下,R语言可以做出非常漂亮的统计图出来。然而大家是否会有这样的体会,为了做出理想的图片...

  • R语言高清图片输出设置

    以ggplot2等包为基础的R语言可视化是科研人员非常喜爱的一个方式,不过我也在这个上遇到了些问题。就是导出高分辨...

  • 去培训的路上

    来自OPPO. R7使用图片编辑器编辑

  • R语言中图片输出为PPTX格式

    代码 输出结果 PPTX格式 图片所有内容可编辑 可输出其他格式的图形 自己动手试一下吧 !! 小杜的生信筆記 ,...

  • day5 阿来

    继续学习R语言 R语言数据学习 数据R语言学习.png 数据输入 数据输出 总结 R语言学习的第二天,熟悉了很多操...

  • 学习小组Day4笔记--昌

    R语言是什么 R语言是用于统计分析,图形表示和报告的编程语言和软件环境;Rstudio是编辑、运行R语言的最为理想...

  • R语言——输入、输出

    1.输入:函数source(“filename”)可在当前会话中执行一个脚本 2.文本输出:sink(“filen...

  • R基础(2):Rstudio的基本介绍

    相比于RGui,Rstudio作为R语言的编辑器使用方便太多,从我开始学习R语言,我就用起来Rstudio。虽然R...

  • 生信小白学习计划-R语言

    R语言学习计划 2020.12.28-2021.1.3 学习内容安排 P1: 介绍R语言及Rstudio编辑器ht...

网友评论

      本文标题:R语言输出可编辑的图片

      本文链接:https://www.haomeiwen.com/subject/xyagyltx.html