shiny + ggplot2、ggvisなどでインタラクティブなグラフを作成することはできますか?3色のセグメントでインタラクティブな線を作成しますか?
アイデアは、ユーザが50%のカットオフまたは75%のカットオフを移動した場合の色が調整されると、セグメントの名前は各セグメントの中央に再調整することです。
shiny + ggplot2、ggvisなどでインタラクティブなグラフを作成することはできますか?3色のセグメントでインタラクティブな線を作成しますか?
アイデアは、ユーザが50%のカットオフまたは75%のカットオフを移動した場合の色が調整されると、セグメントの名前は各セグメントの中央に再調整することです。
私は本当にあなたがここにほしいと思っていないので、わずか2セグメントの最初の推測です。
library(shiny)
library(ggplot2)
ui <- shinyUI(fluidPage(
sidebarLayout(
sidebarPanel(
sliderInput("cutoff",
"cutoff",
min = 0.01,
max = 1,
step = 0.01,
value = 0.5)
),
mainPanel(
plotOutput("plot")
)
)
))
server <- shinyServer(function(input, output) {
output$plot <- renderPlot({
df <- data.frame(x = seq(0.01, 1, 0.01), y = seq(0.01, 1, 0.01),
group = c(rep("a", round(input$cutoff * 100)),
rep("b", round(((1-input$cutoff) * 100)))
)
)
labelPos <- data.frame(pos = c(input$cutoff - input$cutoff/2,
(input$cutoff + (1 - input$cutoff)/2)
),
label = c("a", "b")
)
ggplot()+
geom_ribbon(data = df, aes(x=x, ymin = -0.2, ymax = 0.2, fill = group), show.legend = FALSE) +
geom_label(data = labelPos, aes(x = pos, y = 0.3, label = label)) +
coord_cartesian(ylim = c(-1,1)) +
theme(line = element_blank(),
text = element_blank(),
line = element_blank(),
title = element_blank()
)
})
})
shinyApp(ui = ui, server = server)
関連性のあるものですか? http://stackoverflow.com/questions/20952333/constrain-multiple-sliderinput-in-shiny-to-sum-to-100または範囲を使用する - http://shiny.rstudio.com/gallery/slider-bar-and -slider-range.html – zx8754