问题描述
我是R的新手,最近开始研究Shiny App。虽然我设法解决了项目中的大多数问题,但一段时间以来我一直在努力解决菜单问题。具体地说,在我要使用的两个输入上,我想绘制一个依赖于第一个输入(selectInput)的图像。我通过renderImage函数执行此操作,但是问题是在绘制这些图像时会生成无法消除的空间。我尝试使用renderPlot和renderText,但是问题没有解决,或者它们没有提供期望的结果。有没有办法消除或减少这个空间?我附上我的代码的简化版本和问题的图片。
---
title: "TEST"
output:
flexdashboard::flex_dashboard:
orientation: rows
runtime: shiny
---
```{r setup,include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r paquetes,include=FALSE}
{
library(data.table)
library(dplyr)
library(plyr)
library(highcharter)
library(flextable)
library(officer)
library(readxl)
library(gridExtra)
library(plotly)
library(ggrepel)
library(kableExtra)
library(knitr)
library(scales)
library(flexdashboard)
}
```
Sidebar {.sidebar data-width=300}
=====================================
<center>
```{r echo = FALSE}
renderImage({
filename <- paste0("images/",input$countryInput,".png")
list(src = filename,height = 100)
})
```
</center>
```{r input01,echo=FALSE}
selectInput("countryInput","REGIÓN",choices = c("NACIONAL","XV ARICA Y PARINACOTA","I TaraPACÁ","II ANTOFAGASTA","III ATACAMA","IV COQUIMBO","V VALParaÍSO","XIII METROPOLITANA","VI O´HIGGINS","VII MAULE","XVI ÑUBLE","VIII BÍO BÍO","IX araUCANÍA","XIV LOS RÍOS","X LOS LAGOS","XI AYSÉN","XII MAgalLAnes"))
```
```{r input02,echo=FALSE}
daterangeInput("dateInput","TRIMESTRES",language = "es",format = "yyyy/mm/dd",min = as.Date("2018-01-01"),max = as.Date("2020-07-01"),start = as.Date("2019-07-01"),end = as.Date("2020-07-01"),separator = "hasta")
```
Página
====================================
Row
-----------------------------
###
这是我在论坛上的第一篇文章,因此对您的帮助表示感谢,如果我忘记添加信息,我深表歉意。
解决方法
使用imageOutput
控制包含图像的div
的高度:
output[["image"]] <- renderImage({
filename <- paste0("images/",input$countryInput,".png")
list(src = filename,height = 100)
})
imageOutput("image",height = "100px")