【问题标题】:rcharts nplot only top of plot showing when running shinyrcharts nplot 仅在运行闪亮时显示的顶部
【发布时间】:2013-07-12 13:29:27
【问题描述】:

当我使用 Shiny 运行 rCharts 时,只有绘图的顶部显示在我的本地控制台中。我完全不知道为什么会这样,我正在运行 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")
)
))

如果从 Github 加载 csv 失败(如果加载 RCurl 则不应该),这里是 Github 上数据的直接链接: https://github.com/sebastianbarfort/vaa/blob/master/vaa_.csv

【问题讨论】:

  • 请尝试在另一台计算机上运行您的示例;我放弃纠正了。第一行 df__ 是剩余的并给出错误。下一个 df__ 在没有您证书的计算机上存在安全问题;它可能适用于一些 curl-stuff,但不适用于普通 R。
  • 代码现在应该可以工作了,只要加载了 RCurl。如果没有,我在 Github 上包含了指向 csv 的直接链接。

标签: r shiny rcharts


【解决方案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)])

【讨论】:

  • 嗨@Ramnath,感谢您的帮助。后者完美无缺,但在您确定 API 之前,我更愿意使用 Shiny 选项。在闪亮版本中,当我将 p2
  • 很好,在 Chrome 下为我工作;点效应非常有用。但是,通常的“不在 Windows 7、64 位本地 Firefox 下”适用。而不是在IE下;这很有趣,因为我一直认为这是 IE 下的一个闪亮问题。
  • 感谢@DieterMenne 我希望在 Chrome 下稳定运行后解决 Firefox/IE 问题。感谢您在检查过程中提供的帮助和努力!
  • 您好 Ramnath,感谢您的来信。我和 Dieter 有同样的 Firefox 问题,但在 Chrome 中一切正常。使用 $addControls 时,绘图的响应速度比在 Shiny 中运行时快得多,但两者都能完成工作。
  • 太棒了。如果可行,您能否接受答案以便关闭问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-09
  • 1970-01-01
  • 1970-01-01
  • 2022-01-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多