Shiny App 中两个图形的 rCharts 大小不同
rCharts different sizes for the two graphs in Shiny App
我尝试在我闪亮的应用程序中包含两个不同大小的图表(rCharts、highcharts),但是当我将输入更改为第一个图表时,它立即采用第二个图表的大小。
最近几天我试图找到答案,但没有成功。
一个类似的问题,但没有答案:this
还有一个:this
讨论 here 中的信息对我不起作用。虽然也许我在某些地方犯了错误。
这是一个最小的例子:
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
})
})
图表正确显示是如何实现的。
又过了一天,我自己找到了答案。
希望对其他人有帮助。
在代码中,应替换以下行:
a$chart(type = "column")
a$params$width <- 300
a$params$height <- 300
收件人:
a$chart(type = "column", height = 300, width = 300)
而且有效。
我尝试在我闪亮的应用程序中包含两个不同大小的图表(rCharts、highcharts),但是当我将输入更改为第一个图表时,它立即采用第二个图表的大小。
最近几天我试图找到答案,但没有成功。 一个类似的问题,但没有答案:this 还有一个:this
讨论 here 中的信息对我不起作用。虽然也许我在某些地方犯了错误。
这是一个最小的例子:
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
})
})
图表正确显示是如何实现的。
又过了一天,我自己找到了答案。 希望对其他人有帮助。
在代码中,应替换以下行:
a$chart(type = "column")
a$params$width <- 300
a$params$height <- 300
收件人:
a$chart(type = "column", height = 300, width = 300)
而且有效。