2016-09-21 17 views
0

ブラシの作業を行い、選択したポイントを赤くハイライトする方法。Rシャイニーggplotブラシ

brushedPoints機能が正しく動作していないようです。あなたはbrushedPointsggplotに異なるデータを使用しているため

library(shiny) 
library(ggplot2) 


server <- function(input, session, output) { 

    D = reactive({ 
    brushedPoints(mtcars,input$brush_1, allRows = TRUE) 
    }) 

    output$Plot = renderPlot({ 
    set.seed(1) 
    X = D() 
    X[,"cyl"] = as.character(X[,"cyl"]) 

    ggplot(X,aes_string(x="cyl",y="mpg")) + 
     geom_boxplot(outlier.shape = NA) + 
     geom_jitter(aes(color = selected_))+ 
     scale_color_manual(values = c("black","red"),guide=FALSE) 

    }) 

    output$log = renderPrint({ 
    input$brush_1 
    }) 

    output$Data = renderPrint({ 
    D() 
    }) 
} 

ui <- fluidPage(
    plotOutput("Plot",brush = "brush_1"), 
    verbatimTextOutput("Data"), 
    verbatimTextOutput("log") 

) 

shinyApp(ui = ui, server = server) 

答えて

1

問題が存在する:文字

へ 変換列をあなたはボックスのbrushedPoints

library(shiny) 
library(ggplot2) 


server <- function(input, session, output) { 
    mt=mtcars 
    mt[,"cyl"] = as.character(mt[,"cyl"]) 
    D=reactive({brushedPoints(mt,brush = input$brush_1, allRows = TRUE)}) 

    output$Plot = renderPlot({ 
    set.seed(1) 
     X <- D() 
    ggplot(X,aes_string(x="cyl",y="mpg")) + 
     geom_boxplot(outlier.shape = NA) + 
     geom_jitter(aes(color = selected_))+ 
     scale_color_manual(values = c("black","red"),guide=FALSE) 

    }) 

    output$log = renderPrint({ 
    input$brush_1 
    }) 

    output$Data = renderPrint({ 
    D() 
    }) 
} 

ui <- fluidPage(
    plotOutput("Plot",brush = "brush_1"), 
    verbatimTextOutput("Data"), 
    verbatimTextOutput("log") 

) 

shinyApp(ui = ui, server = server) 

PS

前に、編集データを試すことができますプロットブラシの仕事は平らではない、なぜならすべてのx座標が - 離散的なので、それはseボックスのLECT真ん中(ポイントが実際の位置にない配置が左または右にシフト - 理由geom_jitterの)

としてはgeom_jitterを使用して

を磨くための方法はありません hereに語りました
関連する問題