在rCharts与Highcharts的金字塔图表

时间:2014-07-29 10:12:38

标签: r highcharts rcharts

我正在尝试在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不支持金字塔图表?感谢。

2 个答案:

答案 0 :(得分:3)

@Ondkloss这里有钱。您需要做的就是将漏斗脚本添加到您的页面。在config.yml没有黑客攻击的情况下,可以快速简便地在rCharts中执行此操作。您可以使用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 here fpr一个可在线编辑的版本。

答案 1 :(得分:0)

从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之间并没有多少关系可以实现它。