在 R 中的 htmlwidget 中没有图形输出



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

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

谢谢内森

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

更新:我有...

    1. 从 GitHub 安装了最新版本的 HTMLWidgets
      1. 修复了我的 D3 库不是实际 JavaScript 文档的问题。好捕捉及时投资组合
      2. 试图创建这个项目作为最小的例子,但是,我不知道如何进一步最小化我的 d3BarGraphJavaScript文件。
      3. 多亏了及时的投资组合,我认为问题出在 d3BarGraph.js 文件中。
      4. 具体来说,我如何将数据绑定到实例。在 HTMLWidgets.widget(( 函数的 renderValue 部分中。
      5. 在 RStudio 的查看器面板中右键单击时,我没有看到检查元素的选项。这是否意味着什么都没有被归还?
      6. 我已经在下面发布了我怀疑的代码。
      7. 再次感谢大家抽出宝贵时间提供帮助

这是我代码的 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

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

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

相关内容

  • 没有找到相关文章

最新更新