我试图用ggplot制作一个小应用程序。照我看来?它应该是条形图,用户可以从3个输入中进行选择。输入1用于过滤,输入2用于分组和x轴,输入3用于Y轴。
```
# Inputs
sidebarLayout(
sidebarPanel(
# Select a retail network
selectInput(inputId = "filter",
label = "Головной_контрагент:",
choices = act_nets,
selected = act_names[1],
selectize = TRUE),
# X axis
selectInput(inputId = "X",
label = "Разбивка по:",
choices = df_orkb_act1 %>%
select(Месяц,Контрагент, Номенклатура) %>% names(),
selected = "Контрагент"
),
# Y axis
selectInput(inputId = "Y",
label = "Показатель:",
choices = unique(df_orkb_act1$Показатель),
selected = "Количество",
selectize = TRUE)
),
# Show a plot of the generated distribution
mainPanel(
plotlyOutput("barPlot")
)
)
)
# Define server logic required to draw a histogram
server <- function(input, output) {
output$barPlot <- renderPlotly({
ggplotly( df_orkb_act1 %>% filter(`Головной контрагент` == input$filter, Показатель == input$Y) %>%
group_by(input$X) %>%
summarise(Значение = sum(Значение, na.rm = T)) %>%
ggplot(aes_string(x = "input$X", y = "Значение")) +
geom_col(position = "dodge") +
ylab(input$Y) +
ggtitle(input$filter) )
})
}
```
然后我得到了打印屏幕左侧的内容,表明我需要什么(Rstudio查看器中的绘图)
怎么了?
查看器中绘图的代码基本上是相同的,只是具有选定的输入:
ggplotly( df_orkb_act1 %>% filter(`Головной контрагент` == "супермаркет Фреш 25", Показатель == "Количество накладных") %>%
group_by(Месяц, Акция) %>%
summarise(Значение = sum(Значение, na.rm = T)) %>%
ggplot(aes(x = factor(Месяц), y = Значение, fill = Акция)) +
geom_col(position = "dodge") )
数据如下:
Observations: 70,077
Variables: 10
$ Подразделение <chr> "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ", "ОРКБ...
$ Проект <chr> "Антохин Илья", "Антохин Илья", "Антохин Илья", "Антохин Илья", "Антохин Илья", "Антохин Илья...
$ `Головной контрагент` <chr> "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Алек...
$ Номенклатура <chr> "Баночка 500 мл One Time (5 шт.)", "Вилка белая One Time (10 шт.)", "Контейнер 600 мл One Tim...
$ Контрагент <chr> "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Александр Владимирович", "ИП Гаврилов Алек...
$ `Серия номенклатуры` <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N...
$ Акция <chr> "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Без Акции", "Б...
$ Месяц <dttm> 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-01, 2018-04-...
$ Показатель <chr> "Количество", "Количество", "Количество", "Количество", "Количество", "Количество", "Количест...
$ Значение <dbl> 20, 60, 22, 45, 48, 54, 40, 56, 40, 54, 60, 80, 70, 60, 60, 1, 1, 60, 60, 60, 60, 60, 3, 9, 3...