#r #shiny #echarts #echarts4r
Вопрос:
Я использую e_dispatch_action_p
пакет echarts4r для программной очистки областей графика. Это хорошо работает при использовании range
, но не при использовании coordRange
. Из официальной документации echarts: «Если brushType
есть "lineX"
или 'lineY'
: range
и coordRange
есть: [min, maxX]
»
В качестве примера это работает с использованием range
:
library(shiny)
library(echarts4r)
ui <- fluidPage(
fluidRow(
column(8, echarts4rOutput("chart")),
column(4, actionButton("zoom", "Zoom"))
)
)
server <- function(input, output, session) {
output$chart <- renderEcharts4r({
cars %>%
e_charts(speed) %>%
e_scatter(dist) %>%
e_brush()
})
observe({
req(input$zoom)
echarts4rProxy("chart") %>%
e_dispatch_action_p(
"brush",
areas = list(
list(
brushType = 'lineX',
range = list(50, 150),
xAxisIndex = 0
)
)
)
})
}
shinyApp(ui, server)
Но зачищенная область не отображается при попытке использовать coordRange
:
library(shiny)
library(echarts4r)
ui <- fluidPage(
fluidRow(
column(8, echarts4rOutput("chart")),
column(4, actionButton("zoom", "Zoom"))
)
)
server <- function(input, output, session) {
output$chart <- renderEcharts4r({
cars %>%
e_charts(speed) %>%
e_scatter(dist) %>%
e_brush()
})
observe({
req(input$zoom)
echarts4rProxy("chart") %>%
e_dispatch_action_p(
"brush",
areas = list(
list(
brushType = 'lineX',
coordRange = list(5, 15),
xAxisIndex = 0
)
)
)
})
}
shinyApp(ui, server)
Что я делаю не так?