R:Shiny - 按来源绘制所选月份的访问量
R: Shiny - Plot visits by source for month selected
我无法在 Shiny 中为选定的特定月份绘制简单的条形图。
我有一个这样的数据框:(10 月、11 月和 12 月)
month Campanas1 Visitas
1 Octubre Directo 9126
2 Octubre Email 5753
3 Octubre Referencias 75678
4 Octubre SEO 81266
5 Octubre Social Media 109
然后我想制作一个闪亮的应用程序,在选择月份时按来源显示访问量。这是我闪亮的文件:
我的ui.R:
# Define the overall UI
shinyUI(
# Use a fluid Bootstrap layout
fluidPage(
# Give the page a title
titlePanel("Visitas por fuente"),
# Generate a row with a sidebar
sidebarLayout(
# Define the sidebar with one input
sidebarPanel(
selectInput("mes", "Mes:",
choices=as.character(unique(Visitas_Por_Fuente$month))),
hr(),
helpText("Seleccione el rango de fechas para ver la cantidad de visitas
totales.")
),
# Create a spot for the barplot
mainPanel(
plotOutput("VisitasFuente")
)
)
)
)
我的 server.R 文件:
shinyServer(
function(input, output) {
output$VisitasFuente <- renderPlot({
barplot(Visitas_Por_Fuente$Campanas1)
})
}
)
首先,您尝试绘制变量 Compansa1,这是不可能的,因为条形图只能绘制在向量或矩阵上。
其次,您可以改用 ggplot 以获得更好的视觉效果。此外,您还必须根据用户选择的月份过滤数据框。
您的 server.R 文件应如下所示:
shinyServer(
function(input, output) {
output$VisitasFuente <- renderPlot({
# Filter the data based on user selection month
appData <- Visitas_Por_Fuente[Visitas_Por_Fuente$month %in% input$mes, ]
# Bar graph using ggplot2 library
ggplot(appData, aes(factor(Campanas1), Visitas, fill = Campanas1)) +
geom_bar(stat="identity", position = "dodge") +
scale_fill_manual(breaks = c("0", "1", "3", "6", "9"),
labels = c("Directo", "Email", "References",
"SEO", "Social Media"),
values = c("#E69F00", "#56B4E9", "#009E73",
"#F0E442", "#0072B2"))
})
}
)
runApp()
的输出:
我无法在 Shiny 中为选定的特定月份绘制简单的条形图。
我有一个这样的数据框:(10 月、11 月和 12 月)
month Campanas1 Visitas
1 Octubre Directo 9126
2 Octubre Email 5753
3 Octubre Referencias 75678
4 Octubre SEO 81266
5 Octubre Social Media 109
然后我想制作一个闪亮的应用程序,在选择月份时按来源显示访问量。这是我闪亮的文件:
我的ui.R:
# Define the overall UI
shinyUI(
# Use a fluid Bootstrap layout
fluidPage(
# Give the page a title
titlePanel("Visitas por fuente"),
# Generate a row with a sidebar
sidebarLayout(
# Define the sidebar with one input
sidebarPanel(
selectInput("mes", "Mes:",
choices=as.character(unique(Visitas_Por_Fuente$month))),
hr(),
helpText("Seleccione el rango de fechas para ver la cantidad de visitas
totales.")
),
# Create a spot for the barplot
mainPanel(
plotOutput("VisitasFuente")
)
)
)
)
我的 server.R 文件:
shinyServer(
function(input, output) {
output$VisitasFuente <- renderPlot({
barplot(Visitas_Por_Fuente$Campanas1)
})
}
)
首先,您尝试绘制变量 Compansa1,这是不可能的,因为条形图只能绘制在向量或矩阵上。
其次,您可以改用 ggplot 以获得更好的视觉效果。此外,您还必须根据用户选择的月份过滤数据框。
您的 server.R 文件应如下所示:
shinyServer(
function(input, output) {
output$VisitasFuente <- renderPlot({
# Filter the data based on user selection month
appData <- Visitas_Por_Fuente[Visitas_Por_Fuente$month %in% input$mes, ]
# Bar graph using ggplot2 library
ggplot(appData, aes(factor(Campanas1), Visitas, fill = Campanas1)) +
geom_bar(stat="identity", position = "dodge") +
scale_fill_manual(breaks = c("0", "1", "3", "6", "9"),
labels = c("Directo", "Email", "References",
"SEO", "Social Media"),
values = c("#E69F00", "#56B4E9", "#009E73",
"#F0E442", "#0072B2"))
})
}
)
runApp()
的输出: