可以通过以下步骤完成:
install.packages("shiny")
library(shiny)
library(shinymaterial)
library(highcharter)
ui <- shinyUI(material_page(
title = "SunburstR点击事件示例",
tags$head(tags$style(HTML(".highcharts-figure, .highcharts-data-table table { min-width: 360px; max-width: 800px; margin: 1em auto; } .highcharts-data-table table { font-family: Verdana, sans-serif; border-collapse: collapse; border: 1px solid #EBEBEB; margin: 10px auto; text-align: center; width: 100%; max-width: 500px; } .highcharts-data-table caption { padding: 1em 0; font-size: 1.2em; color: #555; } .highcharts-data-table th { font-weight: 600; padding: 0.5em; } .highcharts-data-table td, .highcharts-data-table th, .highcharts-data-table caption { padding: 0.5em; } .highcharts-data-table thead tr, .highcharts-data-table tr:nth-child(even) { background: #f8f8f8; } .highcharts-data-table tr:hover { background: #f1f7ff; }"))),
material_card(
title = "SunburstR图1",
sunburstOutput("sunburst1")
),
material_card(
title = "SunburstR图2",
sunburstOutput("sunburst2")
)
))
server <- shinyServer(function(input, output) {
# 处理点击事件的逻辑
observeEvent(input$sunburst1_click, {
# 当点击sunburst1图时触发的操作
# 可以在这里添加你的代码逻辑
})
observeEvent(input$sunburst2_click, {
# 当点击sunburst2图时触发的操作
# 可以在这里添加你的代码逻辑
})
# 渲染SunburstR图1
output$sunburst1 <- renderSunburst({
# 在这里生成和配置SunburstR图1的数据和样式
# 可以使用highcharter库来创建和定制SunburstR图
})
# 渲染SunburstR图2
output$sunburst2 <- renderSunburst({
# 在这里生成和配置SunburstR图2的数据和样式
# 可以使用highcharter库来创建和定制SunburstR图
})
})
shinyApp(ui, server)
这样,你就可以在闪亮应用程序中添加两个SunburstR图,并为每个图添加点击事件。当用户点击图表时,触发的操作将在相应的observeEvent块中执行。你可以根据需要在这些块中添加自己的代码逻辑,以实现特定的功能。
请注意,这只是一个简单的示例,你可以根据自己的需求和具体情况进行修改和扩展。关于SunburstR图和Shiny应用程序的更多信息和示例,你可以参考以下链接:
领取专属 10元无门槛券
手把手带您无忧上云