R降价输出大小

Posted

技术标签:

【中文标题】R降价输出大小【英文标题】:R markdown output size 【发布时间】:2016-07-25 02:11:26 【问题描述】:

我想生成一个带有交互式闪亮应用程序的 R 降价页面。它工作正常,但输出位于带有滚动条的非常小的区域。我想摆脱滚动条并显示没有滚动条的全宽和全高的 2 个数字。我怎样才能做到这一点?

我已经试过了:

options(width = 800)

目前它看起来像这样:

    ---
title: "Spielercluster"
output: html_document
runtime: shiny
---
```r,echo=FALSE
library(ggplot2)
library(shiny)

data<-read.csv2('data.csv',header=T,sep=",") 
rawData<-read.csv2('rawData.csv',header=T,sep=",")
cluster<-read.csv2('cluster.csv',header=T,sep=",")
colors<-c("green","red","black")

ui<-fluidPage(plotOutput("plot1", hover = "plot_hover"),
              plotOutput("plot2", hover = "plot_hover"),
              verbatimTextOutput("info")
)

server <- function(input, output) 

  output$plot1 <- renderPlot(
ggplot(rawData, aes(koerpergewicht, groesse, color =  factor(data$gruppe))) +
          geom_point() + labs(title = paste(nlevels(factor(colors))))+geom_point(size=8)+geom_text(aes(label=position),vjust=-1.5)+scale_color_manual(name = "Gruppe",
  labels = c("1 schwer", "2 leicht","3 Zwischengruppe"),
  values = c(rgb(0.9725490196078431,0.4627450980392157,0.4274509803921569,1),rgb(0,0.7294117647058824,0.2196078431372549,1),rgb(0.3803921568627451,0.6117647058823529,1,1)))+ggtitle("Original")
  )

  output$plot2 <- renderPlot(
ggplot(rawData, aes(koerpergewicht, groesse, color =  factor(cluster$x))) +
          geom_point() + labs(title = paste(nlevels(factor(colors))))+geom_point(size=8)+geom_text(aes(label=position),vjust=-1.5)+scale_color_manual(name = "Gruppe",
  labels = c("1 schwer", "2 leicht","3 Zwischengruppe"),
  values = c(rgb(0.9725490196078431,0.4627450980392157,0.4274509803921569,1),rgb(0,0.7294117647058824,0.2196078431372549,1),rgb(0.3803921568627451,0.6117647058823529,1,1)))+ggtitle("Berechnet")
  )


  output$info <- renderPrint(
    nearPoints(rawData, input$plot_hover, , threshold = 10, maxpoints = 1,
               addDist = TRUE)
  )


shinyApp(ui, server)
```

【问题讨论】:

【参考方案1】:

我通过添加自己的 css 文件来实现它。您可以像这样包含它:

---
title: "Spielercluster"
output:
  html_document:
    css: style.css
runtime: shiny
---

然后你必须调整类的大小shiny-frame

.shiny-frame
  width: 1400px;
  height: 1200px;

【讨论】:

【参考方案2】:

shinyApp(ui, server, options = list(height = 1000)

注意使用高度参数来确定垂直空间的大小 嵌入式应用程序应该占用。 (http://rmarkdown.rstudio.com/authoring_embedded_shiny.html)

【讨论】:

【参考方案3】:

在将shiny转成Markdown文件时,我认为你应该删除服务器和UI功能,因为这不是一个常规的rmarkdown文件,然后它会显示整个闪亮的图形。我通过这种方式解决了这个问题。 你可以把闪亮的变成这种甲酸盐。

这是一个链接:change shiny format into rmarkdown

【讨论】:

能否贴出清理后的代码,你用来解决问题的?【参考方案4】:

我在 R Shiny Server Pro 1.5.11.994 和 CentOs 7.5 上。

在尝试了服务器 options、图形尺寸(例如,fig.widthfig.fullwidth)和绘图尺寸之后,最终对我有用的是 CSS。

这是我的降价文件的顶部:

---
output:
  html_document:
    css: my_styles.css
---

然后在my_styles.css:

div.main-container 
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;


.shiny-frame 
  height: 800px;

【讨论】:

对我没有任何改变【参考方案5】:

全局设置

knitr::opts_chunk$set(fig.width = 12, fig.height=8)

或本地为每个输出

```r,echo=FALSE, fig.width = 12, fig.height=8

应该可以。

【讨论】:

不幸的是它没有改变任何东西 fig.width 等对绘图的渲染大小没有任何作用。

以上是关于R降价输出大小的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 knitr 为降价设置本地图像的大小?

适合R网格图形父(顶部)视口大小到图像

自动调整 ggplot 中条形图的大小,以实现多个图形 R 的一致性

在降价中调整 gif (github)

ubuntu下怎么查看文件大小

matlab中size函数总结