[英]Make R/Shiny/ggplot2 linegraph using 3 variables--date, state_territory, and discrete variable
我的数据框是 tableau_jh_df [显示的前 4 行]:
日期 省_州 number_of_cases
1 2020-01-22 阿拉巴马州 0
2 2020-01-22 阿拉斯加 0
3 2020-01-22 亚利桑那 0
基于用户从 Shiny 控件中选择的 Province_state,我想使用 ggplot2 按周绘制总 number_of_cases 的折线图。 到目前为止,无论选择哪个省州,我得到的都是所有情况。 这是我的代码和图表:
# ui
fluidRow(
column(3,
selectInput("state_terr", "Choose a State/Territory:",
list("Alabama", "Alaska", "Arizona" [,...etc]
# server
output$plot <- renderPlot({
min_date <- as.Date("2020-01-20")
max_date <- NA
ggplot(tableau_jh_df, aes(date, number_of_cases, col = input$state_terr,
group = 1)) +
geom_line() +
labs(x = "Date", y = "Number of Cases") +
theme(axis.text.x = element_text(angle = 45),
axis.text.y = element_text(angle = 90))
您必须根据所选的州或省过滤数据集。 使用来自dplyr
filter
试试这个:
ggplot(filter(tableau_jh_df, province_state == input$state_terr),
aes(date, number_of_cases, col = input$state_terr, group = 1)) +
geom_line() +
labs(x = "Date", y = "Number of Cases") +
theme(axis.text.x = element_text(angle = 45),
axis.text.y = element_text(angle = 90))
顺便说一句: col = input$state_terr
如果这是您的意图,则对线条的颜色没有影响。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.