使用Microsoft Office打印到PDF时R图形损坏

时间:2018-09-06 16:46:10

标签: r pdf graphics powerpoint

我不知道这是否属于这里。但是,我希望这个问题能够解决,并且希望有人可以提出解决方案的提示。

我喜欢R图形。在准备演示文稿或类似内容时,我喜欢仅创建一些“精美”图形并将其作为“ Metafile”导入Powerpoint的选项。 但是,此方法存在一个主要的缺点: 每当我尝试将任何Microsoft Office文档存储为PDF时,用R创建并另存为“元文件”的Boxplots都会损坏。我在多台计算机上都遇到了这个问题,找不到解决方案,只能使用.bmp等其他格式。但是,我非常感谢使用Metafile选项。

我在RStudio中创建一个箱形图:

static navigationOptions = ({navigation}) => {

  clearParams = () => {
    navigation.setParams({backRoute: null, routeImGoingNext: null})
  }

  if(navigation.state.params && navigation.state.params.backRoute){  

    const { backRoute, routeImGoingNext } = navigation.state.params;

    return {
      headerLeft: (<HeaderBackButton onPress={()=>{navigation.navigate(backRoute), clearParams()}}/> ),
      headerRight: (
        <TouchableOpacity onPress={()=>{navigation.navigate(routeImGoingNext), clearParams() }}>
          <Text style={{paddingRight: 10}}> Skip </Text>
        </TouchableOpacity>
      )
    }
  }
 return;
}

然后我使用boxplot(mtcars$disp) 函数-> export。在这里,我可以在“位图”和“元文件”之间进行选择。我更喜欢在这里使用“元文件”。 然后,将图像粘贴到Powerpoint中。最后一步是将pp演示文稿另存为PDF。

以下图片是使用截屏工具从最终pdf复制的:

enter image description here

这是RStudio中的箱线图copy to clipboard作为位图。

enter image description here

这是RStudio中的Boxplot copied to clipboard作为图元文件。 有什么建议可以避免讨厌的线条吗?

1 个答案:

答案 0 :(得分:0)

CRAN上刚刚发布了一个新软件包export,您可以将图形以本机Office格式导出到Powerpoint或Word。从那里,您可以将其另存为Office中的PDF,而不会出现任何奇怪的行,请参阅 https://cran.r-project.org/web/packages/export/index.htmlhttps://github.com/tomwenseleers/export

例如

install.packages("export")
library(export)
boxplot(count ~ spray, data = InsectSprays, las = 2)
graph2doc(file="plot.docx", width=7, height=5)
graph2ppt(file="plot.pptx", width=7, height=5)

即使在Powerpoint中保存为PDF之后,这也将为您提供完美质量的矢量格式PDF,而没有任何奇怪的线条:

enter image description here

另一个优点是,您获得的Powerpoint版本是完全可编辑的矢量格式,使您可以在布局中进行任何小的必需更改(它还完全支持透明度/ alpha通道)。