如何在闪亮中制作反应式雷达图



为了研究,我正在研究雷达图的可视化。由于我的研究中要包含各种主题,因此我想使用Shiny制作一个反应式雷达图,"读者"可以从几行值中进行选择,以了解他们希望在雷达图中看到的内容。但是,我无法做到这一点。

我的数据帧如下所示:

Power      Alliances     National Interest
max     40           40             40
min      0            0              0
lib      4            6             30
left     1           15             10

由于我希望能够在我的反应式闪亮雷达图中在libleft之间选择作为变量,并且雷达图本身由变量的权力、联盟和国家利益值创建,因此我创建了以下代码

ui <- shinyUI(fluidPage(
# Application title
titlePanel("Political Parties"),
sidebarPanel(
selectInput(
inputId = "left_lib",
label = "Argument_Type",
choices = list("New_Left_Green"="left", "Liberal"="lib")
)
),
fluidRow(column(12,plotOutput("radarPlot"))
)))
server <- shinyServer(function(input, output) {
output$radarPlot <- renderPlot({
req(input$left_lib)
radarchart(input$left_lib,
seg=6,
title = "New Left / Green versus Liberal in The Netherlands",
pcol=colors_line,
plwd=2)
legend(x=1.6,
y=1.35,
legend = rownames(left_lib[-c(1,2),]),
bty = "n", pch=20, col=colors_line, cex=1.2, pt.cex = 3)
})})
shinyApp(ui = ui, server = server)

雷达图已创建,但它不会对选择lib左侧在侧面板中做出反应。我该如何解决这个问题?

提前谢谢你。

您尚未向我们提供radarChart()函数,所以我不确定,但我猜您想将sliderInput的值替换为代码中某处的 IDleft_lib。 为此,您需要在服务器代码中使用input$left_lib而不是lib_left

您可能需要在output$radarPlot反应开始时添加req(input$left_lib),以防止在启动时出现问题,当尚未为input$lib_left分配值时。

顺便说一下,由于您的代码当前是编写的,因此input$left_lib的值将是"New_Left_Green""Liberal"。 如果要在代码中使用"left""lib"的值,但保留向用户显示的当前文本,则应使用

choices = list("New_Left_Green"="left", "Liberal"="lib")

sliderInput的定义中.

相关内容

  • 没有找到相关文章

最新更新