重新缩小使得情节变得模糊 - 闪亮的流动

时间:2017-04-26 13:41:16

标签: r shiny

我的目标是将页面分成四个象限,每个象限都有一组独立的图表。

我有一个象限准备好了。它占据整个窗口时看起来不错。我想在一个页面上有4个这样的窗格。正如您从屏幕截图(两个上象限)中看到的那样,在左上象限中插入已经准备好的窗格会导致非常模糊的内容。如何让图表不会变得模糊?

enter image description here

我使用了flowrow,也许这不是一个好主意?

ui = fluidPage(

  fluidRow(
    column(6,

           fluidRow(
             column(8, plotOutput("barChart1", height = 250))
             , column(4, plotOutput("compteur1", height = 250))
           )

           ,fluidRow(
             column(3,
                    dateRangeInput(
                      "dateRange2",
                      label = "Choose the window:",
                      start = "2016-09-01"
                    ) 
             )
             , column(3, 
                      selectInput("security", "Index:", selected = worldindices[1]
                                  , list(`World Indices` = worldindices,
                                         `Regional Indices` = regionIndices,
                                         `Country Indices` = countryIndices)
                      )  
             )
             , column(3, 
                      selectInput("metric", "Metric:", selected = plainMetrics[1]
                                  , list(plainMetrics
                                         , `Valuation Multiples` = valMul 
                                         , `Fundamentals` = corpFund)
                      )   
             )    
           )
           , plotOutput("chartAggr", height = 250)       


     )
    , column(6, style = "background-color:yellow;", div(style = "height:500px;")
    )
  ) 

)

亲切的问候

编辑 - 以下答案:

尝试在服务器端为res renderPlot参数提供更高的值似乎不起作用。我给它的值为128,得到以下结果:

enter image description here

2 个答案:

答案 0 :(得分:1)

在服务器上的renderPlot()函数中传入res参数...将其设置为高于默认值72像素/英寸的值。

  

renderPlot(expr,width =" auto",height =" auto",res = 72,...,env   = parent.frame(),quoted = FALSE,execOnResize = FALSE,outputArgs = list())

请注意,您可能需要调整绘图的大小并将滚动条添加到容器中以容纳更大的高分辨率图像。

## Something like this on the server
output$barChart1 <- renderPlot(PLOT(), width = 1000, height = 1000, res = 128)

## Something like this on UI
div(style = 'overflow-x: scroll', 
                   plotOutput("barChart1", inline = TRUE))
                )

答案 1 :(得分:0)

我知道这是一篇老文章,但我想我会分享解决问题的方法。

我正在按照绘图的宽度成比例地缩放绘图的高度,以便使用以下renderPlot代码固定宽高比:

  observeEvent({
    input$timelinecontinentselector
    input$timelinearrangeselector
    input$timelinesmoothselector == TRUE
  }, {
    output$timeline_plot <- renderPlot({
      timeline_plotting()
    }, height = function() {
      round(session$clientData$output_timeline_plot_width * 0.4)
    })
  })

至关重要的是,最初没有使用round()函数。我只能假设该表达式生成的高度值带有小数,这会导致渲染器出现问题。将值四舍五入为整数后,问题就消失了。