程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Rmarkdown:在 PowerPoint 输出中调整图表大小大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Rmarkdown:在 PowerPoint 输出中调整图表大小?

开发过程中遇到Rmarkdown:在 PowerPoint 输出中调整图表大小的问题如何解决?下面主要结合日常开发的经验,给出你关于Rmarkdown:在 PowerPoint 输出中调整图表大小的解决方法建议,希望对你解决Rmarkdown:在 PowerPoint 输出中调整图表大小有所启发或帮助;

在使用 Rmarkdown 自动生成数据报告时,我一直面临一个我无法克服的挑战:调整使用 ggplot2 生成的条形图的大小,使条形图的宽度完全相同。
假设我正在创建一个带有 4 个水平条的条形图。在 PowerPoint 输出中,每个条的宽度为 W,图形的大小为 totalWtotalH
在下一张幻灯片中,我将创建另一个带有 6 个水平条的条形图,如何确保第二个图表中的条与第一个图表中的条具有相同的宽度 W,并且图形大小为totalW6/4 * totalH

我尝试了多种方法,主要来自 here 和 here:

  1. 使用 options 库中的 repr 函数调整图表大小,如建议的 here 用于 Jupyter 中的输出;
  2. 为各自代码块中的每个图表设置out.wIDthout.height
  3. 为各自代码块中的每个图表设置fig.wIDthfig.height
  4. 在导出时使用 ggsave 设置图形大小并使用 pandoc 语法设置渲染大小。

虽然前两种方法在 PowerPoint 输出中没有效果,但后两种方法具有完全相同的输出:宽度和高度不同的图形,以及混乱的字体大小(如 fig.wIDthfig.height).

下面是每种方法的可重现示例,以及 here *.Rmd 文件。

library(dplyr)
library(ggplot2)


# generate data
set.seed(123) 
df <- data.frame(ID = seq(1,21,by = 1),category = c(rep("catX",9),rep("catY",12)),type = c(rep("t1",3),rep("t2",rep("t3",rep("t4",rep("t5",rep("t6",rep("t7",3)),level = sample(c(rep("high",5),rep("medium",7),rep("low",9))))

dfX <- df %>% filter(category == "catX")
dfY <- df %>% filter(category == "catY")

# create function
mk_chart <- function(df,t="type",l="level",horizontal=TRUE) {
    p <- ggplot(df,aes(x = as.factor(.data[[t]]),fill = .data[[l]])) +
        geom_bar(position = "fill",wIDth = 0.45) +
        theme(legend.position = "bottom")
    if (horizontal) {
        p <- p + coord_flip()
    }
    return(p)
}

方法一

options(repr.plot.wIDth = 14,repr.plot.height = 8)
p1 <- mk_chart(dfX)
p1

options(repr.plot.wIDth = 14,repr.plot.height = 12)
p2 <- mk_chart(dfY)
p2

方法 2:

# {r out.wIDth='14in',out.height='8in'} in first code chunk

p1 <- mk_chart(dfX)
p1

# {r out.wIDth='14in',out.height='12in'} in second code chunck

p2 <- mk_chart(dfY)
p2

方法 3:

# {r,fig.wIDth=14,fig.height=8}

p1 <- mk_chart(dfX)
p1

# {r,fig.height=12}

p2 <- mk_chart(dfY)
p2

方法四:
请注意,这会在您的本地计算机上生成 *.png 文件。如果您对此不满意,请不要跑步。

p1 <- mk_chart(dfX)
ggsave(p1,filename = "plot1.png",wIDth = 14,height = 8,units = "in")

![](./plot1.png){wIDth=14in,height=8in}


p2 <- mk_chart(dfY)
ggsave(p2,filename = "plot2.png",height = 12,units = "in")

![](./plot2.png){wIDth=14in,height=12in}

我知道这是一个相当特殊的情况,因为(几乎)没有人关心具有完全相同大小的条,但我的兴趣是了解使用 Rmarkdown 或任何其他调整 PowerPoint 输出中图表/地图/数字大小的可能解决方案相关语法。任何关于这方面的提示都非常感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的Rmarkdown:在 PowerPoint 输出中调整图表大小全部内容,希望文章能够帮你解决Rmarkdown:在 PowerPoint 输出中调整图表大小所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: