R有光泽:如何在使用rCharts / Highcharts创建的绘图中嵌入背景图像?

时间:2016-02-20 20:35:37

标签: javascript r highcharts shiny rcharts

我有一个R shiny个应用,其中包含使用Highcharts包创建的一些rCharts个图表。我想在其中一个图中包含一个背景图像(从我的硬盘驱动器本地获取)。

我在使用plotBackgroundImage选项的Highcharts网站上找到了一个示例,请参阅jsfiddle example

我将它改编为rCharts,效果很好。我能够通过网址或本地来源图像:

require(rCharts)    

# img_src <- '<path-to-the-folder>/skies.jpg' this works also
img_src <- 'https://www.highcharts.com/samples/graphics/skies.jpg'

p <- Highcharts$new()
p$chart(type='line', plotBackgroundImage=img_src)
p$xAxis(categories=LETTERS[1:10])
p$series(data=sample(10,10), color='#303030')
p

但是,在shiny应用中,图片仅在来自网址时出现。在本地采购时,我无法让它工作:

require(shiny)
require(rCharts)

ui <- fluidPage(
    mainPanel(showOutput("chart", "HighCharts"))
)

server <- function(input, output) {
  output$chart <- renderChart({

    # img_src <- '<path-to-the-folder>/skies.jpg' # this doesn't work
    img_src <- 'https://www.highcharts.com/samples/graphics/skies.jpg'

    p <- Highcharts$new()
    p$chart(type='line', plotBackgroundImage=img_src)
    p$xAxis(categories=LETTERS[1:10])
    p$series(data=sample(10,10), color='#303030')
    p$addParams(dom='chart')
    p
  })
}

shinyApp(ui = ui, server = server)

在这种情况下,有没有办法在本地获取背景图片?任何建议将不胜感激!

更新

我发现按照post中的建议将图片包含在www文件夹中时,它可以正常工作。但是,我的图像(热图)正在根据无功输入而变化。在png中呈现临时tempdir文件并从那里获取文件更为实际。 有没有办法直接从临时目录中获取图像?

0 个答案:

没有答案