我感兴趣的是动态创建一个图形,该图形由一个闪亮的应用程序中彼此相邻的多个图标组成。在一种情况下,我有一个由滑块输入控制的值,并且我想通过将几个Font Awesome图标彼此相邻显示来可视化该值,这些图标对应于给定值相对于最大允许值的百分比。>
我目前能够动态产生一个UI输出,该输出使用滑块提供的值,看起来大致像这样。
但是,此代码只是将图标的数量四舍五入到最接近的整数。
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
sliderInput(
inputId = "slider",
label = NULL,
min = 0,
max = 100,
value = 50
),
uiOutput("userGraphic")
)
)
server <- function(input, output) {
observeEvent(input$slider, {
num_people <- round((input$slider/100.0)*10)
output$userGraphic <- renderUI({
lapply(1:num_people, function(i) {
column(width=1,icon('user-o'))
})
})
}
)
}
shinyApp(ui, server)
是否有人考虑过如何避免舍入,而是显示一定比例的图标(例如,如果滑块为75%的全屏显示7.5个图标)。