【问题标题】:Pyramid chart in rCharts with HighchartsrCharts 中的金字塔图与 Highcharts
【发布时间】:2014-07-29 10:12:37
【问题描述】:

我正在尝试在 rCharts 中创建类似于 http://www.highcharts.com/demo/pyramid 的金字塔图,但是即使输出看起来不错,它也会给我一个错误

h1 <- Highcharts$new()
h1$chart(type = "pyramid")
h1$series(name='Unique users', data=list(
  list('Website visits',   15654),
  list('Downloads',       4064),
  list('Requested price list', 1987),
  list('Invoice sent',    976),
  list('Finalized',    84)
  ))

这是一个输出

(function ($) {
    $(function () {
        var chart = new Highcharts.Chart({
            "dom": "chartee4502dd16c",
                "width": 800,
                "height": 400,
                "credits": {
                "href": null,
                    "text": null
            },
                "exporting": {
                "enabled": false
            },
                "title": {
                "text": null
            },
                "yAxis": {
                "title": {
                    "text": null
                }
            },
                "chart": {
                "type": "pyramid",
                    "renderTo": "chartee4502dd16c"
            },
                "series": [{
                "name": "Unique users",
                    "data": [
                    [
                        "Website visits",
                    15654],
                    [
                        "Downloads",
                    4064],
                    [
                        "Requested price list",
                    1987],
                    [
                        "Invoice sent",
                    976],
                    [
                        "Finalized",
                    84]
                ]
            }],
                "id": "chartee4502dd16c"
        });
    });
})(jQuery);

我是在某处做错了,还是 rCharts 不支持金字塔图?谢谢。

【问题讨论】:

    标签: r highcharts rcharts


    【解决方案1】:

    @Ondkloss 是正确的。您需要做的就是将漏斗脚本添加到您的页面。在 rCharts 中有一种快速简便的方法可以做到这一点,而无需在 config.yml 进行黑客攻击。你可以使用addAssets方法在头部注入一个javascript资源。

    library(rCharts)
    h1 <- Highcharts$new()
    h1$addAssets(jshead = "http://code.highcharts.com/modules/funnel.js")
    

    现在运行您之前运行的相同代码,您应该会得到一个漂亮的金字塔图。

    h1$chart(type = "pyramid")
    h1$series(name='Unique users', data=list(
      list('Website visits',   15654),
      list('Downloads',       4064),
      list('Requested price list', 1987),
      list('Invoice sent',    976),
      list('Finalized',    84)
    ))
    
    h1
    

    这是图表的final version。你可以click herefpr 一个可以在线编辑的版本。

    【讨论】:

      【解决方案2】:

      根据 Highcharts API(包括在您的演示中),金字塔图是“没有颈部的反向漏斗图”,Funnel chart“需要加载 modules/funnel.js 文件”。

      从 rCharts 中 Highcharts 库的config.yml 来看,不包含特定模块:

      highcharts:
        jshead:
          - js/jquery-1.9.1.min.js
          - js/highcharts.js
          - js/highcharts-more.js
          - js/exporting.js
        cdn:
          jshead:
            - "http://code.jquery.com/jquery-1.9.1.min.js"
            - "http://code.highcharts.com/highcharts.js"
            - "http://code.highcharts.com/highcharts-more.js"
            - "http://code.highcharts.com/modules/exporting.js"
      

      如果你愿意的话,你和修改后的 rCharts 之间并没有太多的事情可以实现。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多