Я пытаюсь включить в свое блестящее приложение два графика (rCharts, highcharts) разных размеров, но когда я меняю ввод на первый график, он сразу принимает размер второго.
Я пытался найти ответ в последние несколько дней, но безуспешно. Похожий вопрос, но нет ответа: это Еще один: это
Информация в обсуждении здесь мне не подходит. Хотя, возможно, я где-то ошибся.
Вот минимальный пример:
ui:
shinyUI(navbarPage("Test",
tabPanel("First",
sidebarLayout(
sidebarPanel(
selectInput("Select",
label = "Select",
choices = c("First", "Second"))),
mainPanel(
showOutput("chart1", "highcharts")
))),
tabPanel("Second",
sidebarLayout(
sidebarPanel(
selectInput("Select2",
label = "Select2",
choices = c("First", "Second"))),
mainPanel(
showOutput("chart2", "highcharts")
)))))
сервер:
require(rCharts)
shinyServer(function(input, output) {
output$chart1 <- renderChart2({
value <- as.character(input$Select)
x <- data.frame(x = seq(1:6),
y = c(rep("First",times = 3),rep("Second",times = 3)))
x <- x[x$y == value,]
a <- rCharts::Highcharts$new()
a$chart(type = "column")
a$params$width <- 300
a$params$height <- 300
a$data(x)
a
})
output$chart2 <- renderChart2({
value <- as.character(input$Select2)
x2 <- data.frame(x = c(100:105),
y = c(rep("First",times = 3),rep("Second",times = 3)))
x2 <- x2[x2$y == value,]
b <- rCharts::Highcharts$new()
b$chart(type = "column")
b$data(x2)
b$params$width <- 1200
b$params$height <- 600
b
})
})
Как достигается правильное отображение графика.