代码之家  ›  专栏  ›  技术社区  ›  H Yong

是否可以使用垂直滚动条在R标记中显示一个区块中的多个图像

  •  3
  • H Yong  · 技术社区  · 7 年前

    我正试图用R标记创建一个报告(带有html输出),该报告使用垂直滚动条嵌入多个大脑MRI图像。最终目标是能够使用滚动条,从上到下浏览大脑图像,反之亦然。我看过以下帖子: How to display image horizontally in scroll bar?

    我正在使用函数knitr::include_graphics在连接到HTML时显示我的图像,我想知道我应该添加什么来垂直滚动这些图像。

    报告中使用3幅图像的示例如下:

    ```{r echo=FALSE, out.width='100%', fig.align="center"}
    library(knitr)
    knitr::include_graphics('1.jpg')
    knitr::include_graphics('2.jpg')
    knitr::include_graphics('3.jpg')
    ```
    

    我应该在R markdown中向这个区块添加什么,以允许垂直滚动这些图像?感谢您的帮助,因为我之前描述的链接超出了我的理解水平。

    非常感谢。

    2 回复  |  直到 7 年前
        1
  •  4
  •   Maurits Evers    7 年前

    以下应该可以工作,但需要您手动设置长方体的宽度和高度。

    # Put this in your css (without the style tags), or at the top of your Rmd document 
    <style>
    .vscroll-plot {
        width: 1000px;
        height: 200px;
        overflow-y: scroll;
        overflow-x: hidden;
    }
    </style>
    
    # In your Rmd document wrap your code chunk in div tags with class vscroll-plot
    <div class="vscroll-plot">
    ```{r pressure, echo=FALSE}
    plot(mtcars$hp, mtcars$drat);
    plot(mtcars$disp, mtcars$qsec);
    ```
    </div>
    

    如果绘图超过指定高度,这将为您提供带有垂直滚动条的两个绘图。

        2
  •  0
  •   aoles    7 年前

    滚动条的替代品可以是一个简单的嵌入式查看器,允许在图像之间切换。例如,如果所有图像都具有相同的XY尺寸,则可以使用 Bioconductor 包裹 EBImage (目前,该功能仅在开发分支中可用,可从以下网站获得: GitHub ).

    library("EBImage")
    
    imgs <- c('1.jpg', '2.jpg', '3.jpg')
    display(readImage(imgs), method="browser")