【发布时间】:2019-12-09 18:19:03
【问题描述】:
我正在做一个学校项目,我有一些 dyplr 查询,我需要使用 Shiny 库使它们具有交互性。现在我在 dyplr 有一个查询,在那里我可以看到印度外卖餐厅的每个国家的收入。我有以下查询:
```
df %>%
group_by(Origin, Jaar = year(Order.Date), Maand = month(Order.Date, label = TRUE), Kwartaal = quarter(Order.Date)) %>%
summarize(omzet = sum(regelomzet)) %>%
ggplot(aes(reorder(Origin, omzet), omzet)) +
facet_grid(~Jaar) +
geom_col() +
ggtitle("Omzet per land van herkomst") +
coord_flip() +
theme(axis.text.x = element_text(angle = 90))
```
这给了我以下输出:
现在,如果我将 facet_grid 更改为例如kwartaal(一年中的季度),我将得到以下输出:
现在我想在交互式 Shiny 应用程序中应用这个图。我为此使用以下代码:
```
```{r}
library(shiny)
ui <- fluidPage(
titlePanel("Indian takeaway"),
navlistPanel("Kies een plot",
tabPanel("Omzet per land van herkomst",
selectInput(inputId = "Select_unit",
label = "Selecteer op basis van wat je de grafiek wilt zien",
choices = c("Jaar", "Kwartaal", "Maand"),
selected = "Jaar"
),
plotOutput(outputId = "plot3")
)
)
)
server <- function(input, output, session) {
output$plot3 <- renderPlot({
df %>%
group_by(Origin, Jaar = year(Order.Date), Maand = month(Order.Date, label = TRUE), Kwartaal = quarter(Order.Date)) %>%
summarize(omzet = sum(regelomzet)) %>%
ggplot(aes(reorder(Origin, omzet), omzet)) +
facet_grid(~input$Select_unit) +
geom_col() +
ggtitle("Omzet per land van herkomst") +
coord_flip() +
theme(axis.text.x = element_text(angle = 90))
})
}
shinyApp(ui, server)
```
在这里,我制作了一个切片器并在 Shiny 应用程序上显示了情节。要更改 facet_wrap,我现在使用链接到输入框的输入函数,如果我更改输入框中的变量,我希望它会显示如上两张图片中的图形。 现在,如果我启动闪亮的应用程序,您会发现一开始就没有任何 facet_grid,甚至在标准变量上也没有。我的问题是为什么它会这样做,因为我确实将它包含在我的查询中。因为我不知道我不知道如何解决这个问题并且已经在谷歌上搜索过但找不到任何有用的东西
【问题讨论】:
标签: r ggplot2 shiny facet-grid