rcharts nplot показывает только верхнюю часть графика, когда работает блестяще
Когда я запускаю rCharts с Shiny, в моей локальной консоли отображается только верхняя часть графика. Я понятия не имею, почему это так, я использую последние версии разработчиков rCharts и Shiny. Любая помощь будет принята с благодарностью!
Два файла ниже должны полностью воспроизвести проблему. Заранее спасибо, Себастьян
## server.R
require(rCharts)
library(RCurl)
options(RCHART_WIDTH = 800)
shinyServer(function(input, output) {
output$myChart <- renderChart({
x <- getURL("https://raw.github.com/sebastianbarfort/vaa/master/vaa_.csv")
df___ <- read.csv(text = x)
p2 <- nPlot(Economy ~ Immigration, group = 'X.1', data = df___,
type = 'scatterChart')
p2$chart(color = c('red', 'blue', 'green',"yellow","yellow","yellow","yellow","yellow"))
p2$set(dom = "myChart")
return(p2)
})
})
##ui.R
require(rCharts)
shinyUI(pageWithSidebar(
headerPanel("xxx"),
sidebarPanel(
selectInput(inputId = "x",
label = "Choose X",
choices = c("CL", "Economy", "Education", "Envrionment", "EU",
"FP", "Health", "Immigration"),
selected = "Economy"),
selectInput(inputId = "y",
label = "Choose Y",
choices = c("CL", "Economy", "Education", "Envrionment", "EU",
"FP", "Health", "Immigration"),
selected = "Immigration")
),
mainPanel(
showOutput("myChart","Nvd3")
)
))
В случае, если загрузка csv из Github не удалась (чего не следует делать, если вы загрузили RCurl), вот прямая ссылка на данные на Github: https://github.com/sebastianbarfort/vaa/blob/master/vaa_.csv
1 ответ
Вот быстрое решение. Изменить ваш mainPanel
линия к следующему. Для правильного отображения div диаграммы необходимо установить минимальную высоту. Я исправил это, но в нем все еще есть небольшая ошибка. На этой неделе я расскажу более подробное исправление для rCharts, которое должно решить эту проблему, а не требовать добавления tags$style
линия.
mainPanel(
div(class='wrapper',
tags$style(".Nvd3{ height: 400px;}"),
showOutput("myChart","Nvd3")
)
)
НОТА. При использовании с Shiny предпочтительнее использовать интерфейс без формул, поскольку входы Shiny интерпретируются как строки. Будущие версии могут ослабить это требование. Так, например, линия инициализации графика будет
p2 <- nPlot(x = input$x, y = input$y, group = 'X.1',
data = df___, type = 'scatterChart')
РЕДАКТИРОВАТЬ. Если у вас есть dev
установленная версия rCharts (dev
ветка), вы можете добавить элементарные элементы управления, такие как у вас в приложении, без необходимости Shiny. Вот как бы вы это сделали. Эта функция все еще является экспериментальной, и API изменится, поскольку я продолжаю упрощать кодовую базу, поэтому используйте ее с осторожностью.
require(rCharts)
require(RCurl)
x <- getURL("https://raw.github.com/sebastianbarfort/vaa/master/vaa_.csv")
df___ <- read.csv(text = x)
p2 <- nPlot(Economy ~ Immigration,
group = 'X.1',
data = df___,
type = 'scatterChart'
)
p2$chart(color = c('red', 'blue', 'green',"yellow","yellow","yellow",
"yellow","yellow")
)
p2$addControls("x", value = "Immigration", values = names(df___)[-c(1:2)])
p2$addControls("y", value = "Economy", values = names(df___)[-c(1:2)])