您好我使用下面的代码,我使用底部的情节来过滤顶部的情节
示例数据:
标题: - 投诉ID;收到日期投诉;是监管投诉吗?天投诉是公开的;文本日投诉是开放的。
每个标题的值: -
973; 16年11月;没有; 0;投诉开放0天,
972; 16年11月;没有; 0;投诉开放0天,
971; 16年11月;没有; 0;投诉开放0天。
ui <- pageWithSidebar(
# Application title
headerPanel("Filter by month"),
sidebarPanel(
selectizeInput("YrMon",
"Filter by Month-Year:" ,
choices = unique(CCMS3$ccmsdate), "11-16", multiple = TRUE
),
radioButtons("Regcmp", "Regulatory Complaint :", choices = unique(CCMS3$Is.Regulatory.Complaint.),selected = 'No'),
sliderInput(inputId="dayscmp", label="Days Complaint Open :", step=10,min = min(CCMS3$Days.Complaint.is.Open),max=max(CCMS3$Days.Complaint.is.Open),value = c(0,150))
),
mainPanel(
plotOutput("histPlt"),
plotOutput("histplt2", click = clickOpts(id="flt",clip = FALSE), dblclick = "sm"),
textOutput("asd")
)
)
server <- function(input, output) {
library(dplyr)
output$histPlt <- renderPlot({
if(!is.even(length(input$flt)) & !is.null(input$flt)) {
nwflt2 <- factor(CCMS$Text.Days.Complaint.is.Open)
nwflt1 <- unique(nwflt2)
nwflt <- nwflt1[round(input$flt$x)]
ddd <- ({filter(CCMS3, Text.Days.Complaint.is.Open %in% nwflt & ccmsdate %in% input$YrMon & Is.Regulatory.Complaint. %in% input$Regcmp & Days.Complaint.is.Open %in% (input$dayscmp[1] : input$dayscmp[2]))})
require(ggplot2)
library(ggplot2)
g <- ggplot(ddd, aes_string(x='ccmsdate'))
plr <- g+geom_bar()+ylab("")+ggtitle("Number Of Complaints By Date")+xlab('Date(Year-Month)')+scale_x_discrete(labels= addline_format(c(unique(ddd$ccmsdate))),limits=c(unique(ddd$ccmsdate)))
gg <- plr+theme(axis.text.x = element_text(size=10,colour="Blue",hjust=0.5,vjust=1),axis.ticks.y=element_blank(),panel.background=element_rect(fill="White",colour="Black"),panel.grid=element_blank())
gg
} else
{ ddd <- ({filter(CCMS3, ccmsdate %in% input$YrMon & Is.Regulatory.Complaint. %in% input$Regcmp & Days.Complaint.is.Open %in% (input$dayscmp[1] : input$dayscmp[2]))})
require(ggplot2)
library(ggplot2)
g <- ggplot(ddd, aes_string(x='ccmsdate'))
plr <- g+geom_bar()+ylab("")+ggtitle("Number Of Complaints By Date")+xlab('Date(Year-Month)')+scale_x_discrete(labels= addline_format(c(unique(ddd$ccmsdate))),limits=c(unique(ddd$ccmsdate)))
gg <- plr+theme(axis.text.x = element_text(size=10,colour="Blue",hjust=0.5,vjust=1),axis.ticks.y=element_blank(),panel.background=element_rect(fill="White",colour="Black"),panel.grid=element_blank())
gg }})
output$histplt2 <- renderPlot({
ddd <- ({filter(CCMS3, ccmsdate %in% input$YrMon & Is.Regulatory.Complaint.%in% input$Regcmp & Days.Complaint.is.Open %in% (input$dayscmp[1] : input$dayscmp[2]))})
g2 <- ggplot(ddd, aes_string(x='Text.Days.Complaint.is.Open'))
plr2 <- g2+geom_bar()+ylab("")+ggtitle("Number Of Complaints By Complaints Open")+xlab('Date(Year-Month)')+scale_x_discrete(labels= addline_format(c(unique(ddd$Text.Days.Complaint.is.Open))),limits=c(unique(ddd$Text.Days.Complaint.is.Open)))
gg2 <- plr2+theme(axis.text.x = element_text(size=10,colour="Blue",hjust=0.5,vjust=1),axis.ticks.y=element_blank(),panel.background=element_rect(fill="White",colour="Black"),panel.grid=element_blank())
gg2
})
}
现在我无法再次重置顶部的图形,直到我更改过滤器中的值。我想创建一些内容,如果用户点击绘制区域内的图形,那么它应该被过滤,否则如果它在绘图区域之外则不应该被过滤,顶部的图形也应该是未过滤的。
感谢任何帮助。