Col plot is not grouping by input in shiny
up vote
0
down vote
favorite
I'm trying to make a small app with ggplot in siny. As i see it? it should be a bar plot, where a user can choose from 3 inputs. Input 1 goes for filtering, input 2 goes for grouping and x axis, input 3 is going to Y axis.
```
# 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) )
})
}
```
and i get what is on left side of a printscreen, insted of what i need (the plot in an Rstudio viewer)
What is wrong?
code for the plot in the viewer is basicly the same, just with selected inputs:
ggplotly( df_orkb_act1 %>% filter(`Головной контрагент` == "супермаркет Фреш 25", Показатель == "Количество накладных") %>%
group_by(Месяц, Акция) %>%
summarise(Значение = sum(Значение, na.rm = T)) %>%
ggplot(aes(x = factor(Месяц), y = Значение, fill = Акция)) +
geom_col(position = "dodge") )
and the data looks like this:
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...
r ggplot2 shiny plotly ggplotly
add a comment |
up vote
0
down vote
favorite
I'm trying to make a small app with ggplot in siny. As i see it? it should be a bar plot, where a user can choose from 3 inputs. Input 1 goes for filtering, input 2 goes for grouping and x axis, input 3 is going to Y axis.
```
# 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) )
})
}
```
and i get what is on left side of a printscreen, insted of what i need (the plot in an Rstudio viewer)
What is wrong?
code for the plot in the viewer is basicly the same, just with selected inputs:
ggplotly( df_orkb_act1 %>% filter(`Головной контрагент` == "супермаркет Фреш 25", Показатель == "Количество накладных") %>%
group_by(Месяц, Акция) %>%
summarise(Значение = sum(Значение, na.rm = T)) %>%
ggplot(aes(x = factor(Месяц), y = Значение, fill = Акция)) +
geom_col(position = "dodge") )
and the data looks like this:
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...
r ggplot2 shiny plotly ggplotly
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I'm trying to make a small app with ggplot in siny. As i see it? it should be a bar plot, where a user can choose from 3 inputs. Input 1 goes for filtering, input 2 goes for grouping and x axis, input 3 is going to Y axis.
```
# 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) )
})
}
```
and i get what is on left side of a printscreen, insted of what i need (the plot in an Rstudio viewer)
What is wrong?
code for the plot in the viewer is basicly the same, just with selected inputs:
ggplotly( df_orkb_act1 %>% filter(`Головной контрагент` == "супермаркет Фреш 25", Показатель == "Количество накладных") %>%
group_by(Месяц, Акция) %>%
summarise(Значение = sum(Значение, na.rm = T)) %>%
ggplot(aes(x = factor(Месяц), y = Значение, fill = Акция)) +
geom_col(position = "dodge") )
and the data looks like this:
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...
r ggplot2 shiny plotly ggplotly
I'm trying to make a small app with ggplot in siny. As i see it? it should be a bar plot, where a user can choose from 3 inputs. Input 1 goes for filtering, input 2 goes for grouping and x axis, input 3 is going to Y axis.
```
# 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) )
})
}
```
and i get what is on left side of a printscreen, insted of what i need (the plot in an Rstudio viewer)
What is wrong?
code for the plot in the viewer is basicly the same, just with selected inputs:
ggplotly( df_orkb_act1 %>% filter(`Головной контрагент` == "супермаркет Фреш 25", Показатель == "Количество накладных") %>%
group_by(Месяц, Акция) %>%
summarise(Значение = sum(Значение, na.rm = T)) %>%
ggplot(aes(x = factor(Месяц), y = Значение, fill = Акция)) +
geom_col(position = "dodge") )
and the data looks like this:
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...
r ggplot2 shiny plotly ggplotly
r ggplot2 shiny plotly ggplotly
edited Nov 22 at 7:51
asked Nov 22 at 7:25
Дмитрий Перепечин
165
165
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53425794%2fcol-plot-is-not-grouping-by-input-in-shiny%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown