R中的htmlwidgets中没有数字输出

时间:2016-02-11 22:24:34

标签: javascript r d3.js htmlwidgets

我正在尝试构建一个使用htmlwidgetD3制作条形图的简单R。我已经使用我的代码设置了一个gitHub,并将一个markdown文件与必要的命令放在一起,以便在创建窗口小部件时重新创建我的工作流程。我不确定我是否有语法错误,或者我的流程一般都有问题?

我问,因为虽然代码运行,但它不会在RStudio的查看器中产生输出图像。我希望也许有D3htmlwidgetsJavaScriptR经验的人可以帮我弄清楚这有什么问题。任何见解总是非常感激。

谢谢你, 森

链接:https://github.com/ngfrey/d3BarGraph

更新:我有......

    1. 从GitHub安装了最新版本的HTMLWidgets
      1. 修复了我的D3库不是实际JavaScript文档的问题。好赶好及时报名
      2. 尝试创建这个项目作为一个最小的例子,然而,我不知道如何进一步减少我的d3BarGraph JavaScript的 文件。
      3. 感谢及时的组合,我认为问题出在d3BarGraph.js文件中。
      4. 具体来说,我是如何将数据绑定到实例的。在HTMLWidgets.widget()函数的renderValue部分中。
      5. 在RStudio的Viewer面板中右键单击时,我看不到检查元素的选项。这是否意味着什么 被退回?
      6. 我在下面发布了我怀疑的代码。
      7. 再次感谢大家花时间提供帮助
  1. 这是我的代码的HTMLWidgets.widget部分。

    HTMLWidgets.widget({
    
      name: 'd3BarGraph',
    
      type: 'output',
    
      //renderOnNullValue: true,
    
      initialize: function(el, width, height) {
    
        var svg =  d3.select(el).append("svg");
        svg
        .attr("width", width)
        .attr("height", height);
    
        //create barD3 instance
    
        return barD3().width(width).height(height).svg(svg); //passing the svg obj & options to the barD3 function.
    
      },
        resize: function(el, width, height, instance) {
    
        //var svg = instance.svg;
        var svg = d3.select(el).select("svg");
        svg
        .attr('width', width)
        .attr('height', height);
    
        instance.width(width).height(height).svg(svg).resize();
      },
    
      renderValue: function(el, params, instance) {
       // instance.lastValue = params;
    
        var data = HTMLWidgets.dataframeToD3(params.data);
    
       instance=instance.svg(svg).data(data);
    
       //var data = [8,16,10,18,19,4,12,18,12,11,19,11,15,13,5];
    
       d3.select(el)
        .call(instance);
    
       //Time for the barD3 function
       return barD3().width(width).height(height).svg(svg);
      }
    
    
    
    });
    

    我还更新了我的GitHub项目。我很想听听别人的评论。 最好, NF

1 个答案:

答案 0 :(得分:0)

我能够解决这个问题。我在GitHub上发布了一个工作版本。对我来说最大的帮助就是离开这个项目的时间。我还使用了更多来自jcheng5泡泡示例的“锅炉板”类型代码。有关代码,请参阅Working_Project链接。

再次感谢大家分享您的想法和帮助。最好的,NF