r
에 plotly
을 사용하여 여러 개의 서브 도표를 생성합니다. 장난감의 예를 아래에 나타냅니다.하나의 범례가 모든 차트를 제어 할 수 있도록 서브 도표를 표시하는 범례 그룹
library(shiny)
library(dplyr)
library(plotly)
## Toy Example
ui <- fluidPage(
h3("Diamonds"),
plotlyOutput("plot", height = 600)
)
server <- function(input, output, session) {
# reduce down the dataset to make the example simpler
dat <- diamonds %>%
filter(clarity %in% c("I1", "IF")) %>%
mutate(clarity = factor(clarity, levels = c("I1", "IF")))
output$plot <- renderPlotly({
# Generates the chart for a single clarity
byClarity <- function(df){
Clarity <- df$clarity[1];
plot_ly(df, x = ~carat, y = ~price, color = ~cut, name = ~clarity) %>%
add_trace(
type="bar"
## Also tried adding this with no success
# legendgroup = ~cut
) %>%
layout(
barmode = "stack"
)
}
dat %>%
split(.$clarity) %>%
lapply(byClarity) %>%
subplot(nrows = NROW(.), shareX = TRUE, which_layout = "merge")
})
}
shinyApp(ui, server)
나는 전설에 '잘라 내기'를 클릭하면 표시/것이라는 전설은하고 싶다은 모두 차트 대신의 전설과 관련된 단지 차트에서 '잘라 내기'고 숨 깁니다.
나는 legendgroup 보았다하지만 (내가 줄거리를 만들기 위해 사용하고 그룹화가clarity
)
cut
대신
clarity
와 연결하는 방법을 알아낼 수 없습니다.
는 또한이 솔루션은 원료 plot_ly
작동하지 ggplotly
ggplotly
에서 사용할 수 없습니다 내가 필요로하는 다른 plot_ly
기능이 있기 때문에 할 필요가있다.
도움이 될만한 의견이 있습니다. plotly_4.5.2
, dplyr_0.5.0
및 shiny_0.14
을 사용하고 있습니다.
당신이 plotly 4.0에서'더 나은 연습을 시도하고이 답변에 above.' 않았다 'https://stackoverflow.com/a/41122127/2296728 ' – urwaCFC