1
我试图构建一个应用程序,让用户在单个图上绘制多条线。我的数据包含多年来在多个国家的旅游数据。使用Shiny和ggplot2在单个图上绘制多条线
> head(tourism)
years Bulgaria Czech Republic Denmark Poland Sweden Norway
1 1995 5437.963 10274.98 9651.070 5523.500 7860.659 7294.971
2 1996 5921.961 13640.53 10810.187 5594.191 7716.620 7236.490
3 1997 5476.931 14932.49 10918.596 7579.637 7658.900 7243.111
4 1998 5197.050 16218.00 10287.564 7229.771 8029.087 7868.735
5 1999 4382.405 16125.00 9965.684 5644.924 8600.785 7814.983
6 2000 5170.091 15597.09 10005.887 6891.283 8654.086 7468.899
现在我试图绘制数据,以'年份'列作为x轴,其他列作为y轴。
ui = fluidPage(
titlePanel("Tourism"),
sidebarLayout(
sidebarPanel(
selectizeInput("cnt",
"Select Country:",
choices = c("Bulgaria",
"Czech Republic",
"Denmark",
"Poland",
"Sweden",
"Norway"),
selected = "Bulgaria",
multiple = TRUE
)
),
mainPanel(
plotOutput("plot")
)
)
)
server = function(input, output) {
output$plot = renderPlot({
ggplot(tourism) +
geom_line(mapping = aes(x = years, y = tourism[,input$cnt], colour = input$cnt)) +
labs (x = "Years", y = "Nights spent per 1000", title = "Tourism") +
scale_colour_discrete(name = "Country")
})
}
shinyApp(ui = ui, server)
的问题是,如果我尝试一次绘制一个以上的国家,我得到以下错误:“美学必须是长度为1或相同的数据(21):X,Y ,颜色“。
在搜索过程中,我想我错过了观察或反应部分,但我不知道如何添加它。
任何帮助,将不胜感激。
编辑,做了一个小错字。 – Zach
正在键入类似的东西:) –
您的解决方案非常完美,非常感谢! –