【问题标题】:Rmarkdown plot and image side by sideRmarkdown 绘图和图像并排
【发布时间】:2021-05-15 08:13:03
【问题描述】:

我正在用 R markdown 编写一份报告。 我知道有一种方法可以让不同的情节并排,也有一种方法可以让不同的图像并排。

但是否也可以并排显示情节和图像?

我有一个 ggplot 条形图,我想在地图图像旁边显示它,如果我将图像放在图表下方会占用太多空间。

谢谢, 问候, 芙蕾雅

【问题讨论】:

    标签: r-markdown


    【解决方案1】:

    这可能对你有用。这是一步一步的,括号之间是代码的指示。

    首先,您需要通过创建对象 (photo) 来加载图像 (y)。

    其次,使用图像 (photo_panel) 创建一个 ggplot。

    最后,在创建绘图 (p1) 后,您使用库 cowplot 绘制网格 (plot_grid)。


    .Rmd 文件:

    ---
    title: "Image + graph"
    author: bttomio
    output: pdf_document
    ---
    
    ```{r setup, include=FALSE}
    knitr::opts_chunk$set(echo = FALSE)
    ```
    
    ## R Markdown
    
    ```{r image_graph}
    
    y = "http://upload.wikimedia.org/wikipedia/commons/5/5d/AaronEckhart10TIFF.jpg"
    download.file(y,'y.jpg', mode = 'wb')
    
    library("jpeg")
    photo <- readJPEG("y.jpg",native=TRUE)
    
    library(ggplot2)
    library(cowplot)
    photo_panel <- ggdraw() + draw_image(photo, scale = 0.8)
    
    df <- data.frame(Years=rep(2016:2017, each=4),
                     Quarters=rep(paste0("Q", 1:4), 2),
                     Series1=seq(100, 800, 100))
    
    library(ggplot2)
    p1 <- ggplot(df) +
      geom_point(aes(x=Quarters, y=Series1)) + 
      facet_wrap( ~ Years, strip.position="bottom", scales="free_x") + 
      theme(panel.spacing=unit(0, "lines"), 
            strip.background=element_blank(), 
            strip.placement="outside", 
            aspect.ratio=1)  # set aspect ratio
    
    plot_grid(p1, photo_panel, ncol = 2)
    ```
    

    输出:

    【讨论】:

    • 这行得通,谢谢! (我尽量不在周末工作,这就是为什么我现在才看你的解决方案)
    • 别担心!很高兴能帮到你:)
    • Plotly 有问题吗?我无法让它工作,它只是显示一个空白图像
    • @IgnacioEstevo,不确定。你能试试this吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-07
    • 1970-01-01
    • 1970-01-01
    • 2016-09-10
    • 2017-08-30
    • 1970-01-01
    相关资源
    最近更新 更多