我有一个 RMarkdown Shiny 应用程序,想要显示图像。在该图像的顶部我将显示一些 htmlOutput。 A 找到了一个运行良好的 R Shiny 应用程序示例。图像本地存储在 www 文件夹中。 但是,当我使用 RMarkdown 闪亮应用程序尝试此操作并将完整的 R 代码复制到 R 代码块中时,这将不起作用。
这是 R闪亮应用程序的代码。对于带有代码的 Rmd 文件,只需创建一个新的 RMarkdown 闪亮文档,并添加一个新的 R 代码块,其中包含以下行作为代码。我在这个问题模板中插入 Rmd 文件时遇到格式问题,因此无法使用 Rmd 代码发布它......
library(shiny)
# Define UI
ui <- fluidPage(
# Application title
titlePanel("Count"),
# Sidebar
sidebarLayout(
sidebarPanel(
textInput("txt1", "Enter the text1 to display below:",
value = 52)
),
# Show an image with a counter
mainPanel(
fluidRow(
column(
6,
div(
style = "
margin-left:0%;
display: inline-block;
text-align: center;
position: absolute;
",
img(
src = "/Schema_BB_NKB_real.jpg",
height = 400,
width = 800,
style = " position: relative;"
),
span(htmlOutput("default1"),
style = "
color: orange;
font-size: 20px;
font-style: bold;
position: relative;
text-align: center;
width: 100px;
top: -100px;
"
)
)
)
)
)
)
)
# Define server logic required to draw a histogram
server <- function(input, output) {
output$default1 <- renderUI({
str2 <- input$txt1
str1 <- paste("You")
HTML(paste("str1:", input$txt1, sep = '<br/>'))
})
}
# Run the application
shinyApp(ui = ui, server = server)
我尝试使用 addRessourcePath 进行一些操作,但这仅在我使用文件夹的绝对路径时才有效。当我将此应用程序复制到我的服务器时,这将不再起作用。
现在应该是 Rmd 文件代码:
---
title: "text on image"
author: "me"
date: "2023-12-17"
output: html_document
runtime: shiny
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r shiny app, echo=FALSE}
library(shiny)
# Define UI
ui <- fluidPage(
# Application title
titlePanel("Count"),
# Sidebar
sidebarLayout(
sidebarPanel(
textInput("txt1", "Enter the text1 to display below:",
value = 52)
),
# Show an image with a counter
mainPanel(
fluidRow(
column(
6,
div(
style = "
margin-left:0%;
display: inline-block;
text-align: center;
position: absolute;
",
img(
src = "/Schema_BB_NKB_real.jpg",
height = 400,
width = 800,
style = " position: relative;"
),
span(htmlOutput("default1"),
style = "
color: orange;
font-size: 20px;
font-style: bold;
position: relative;
text-align: center;
width: 100px;
top: -100px;
"
)
)
)
)
)
)
)
# Define server logic required to draw a histogram
server <- function(input, output) {
output$default1 <- renderUI({
str2 <- input$txt1
str1 <- paste("You")
HTML(paste("str1:", input$txt1, sep = '<br/>'))
})
}
# Run the application
shinyApp(ui = ui, server = server)
```
您可以尝试将其添加到您的第一个代码块中:
library(shiny)
library(here)
shiny::addResourcePath(prefix = "www", directoryPath = here::here("www"))
然后用以下方式调用您的图像:
img(src = "www/Schema_BB_NKB_real.jpg")
请参阅类似的讨论。