首页 > 解决方案 > 如何在 RStudio 中使用 Shiny 制作交互式绘图

问题描述

我正在使用多文件设置,因此我同时拥有 ui.r 和 server.r 文件。我正在使用下面的数据集,该数据集着眼于 2016 年美国/加拿大不同州/省的 UFO 目击事件。

        Date        Time  AM.PM Country       City  State   Shape
1   12/21/2016  7:15:00     PM  USA      Waynesboro   VA    Sphere
2   12/21/2016  12:00:00    AM  USA      Louisville   KY    Unknown
3   12/20/2016  10:30:00    PM  USA      Santa Rosa   CA    Sphere
4   12/20/2016  7:00:00     PM  USA      Fresno       CA    Circle
5   12/19/2016  9:53:00     PM  USA      Reymert      AZ    Circle
6   1/11/2016   8:15:00     PM  CANADA   Mississauga  ON    Circle

我想要做的是在我的主面板中制作一个图,它将显示一个能够显示用户通过侧面板上的小部件选择的不同数据的图。我想创建一个直方图,其中 UFO 的每个可能形状对应于 x 轴上的不同条形,然后是用户使用小部件选择的国家/地区的观察次数(对于每个 UFO 形状) y 轴。我只是在如何使用 ggplot 制作具有闪亮方面的直方图时遇到了麻烦。任何帮助表示赞赏!

界面文件:

library(shiny)
library(ggplot2)

shinyUI(fluidPage(

    # Application title
    titlePanel("Exploring UFO Sightings"),

    sidebarLayout(
        sidebarPanel(
            selectInput("Country",
                        "Country to Display:",
                        choices = list("USA" = 'USA',
                                       "Canada" = 'CANADA'),
                        ),
        ),

        # Show a plot of the generated distribution
        mainPanel(
            plotOutput("ufoPlot")
        )
    )
))

服务器文件:

library(shiny)
library(ggplot2)

shinyServer(function(input, output) {

    output$ufoPlot <- renderPlot({

        ufo_data <- ufo_data_filter %>% filter(Country == input$country)
        #Not sure how to plot this
    })
})

标签: rggplot2dplyrshiny

解决方案


推荐阅读