【问题标题】:d3pie error: no data supplied on d3pie.jsd3pie 错误:d3pie.js 上没有提供数据
【发布时间】:2015-11-18 23:28:19
【问题描述】:

我正在使用 Rails,并收集一些数据来制作饼图。我只是使用 ruby​​ 对象(所以没有 JSON),并使用d3pie。首先,我制作了一个辅助函数。然后我使用该助手创建一个javascript函数,并将其传递给dom。这是我的代码;

helper.rb

  def options_data_to_d3(options_data)
    d3_data = []
    options_data.each do |key, value|   
      d3_data.push( { label: key.option.as_json, value: value.as_json } )
    end
    return JSON.pretty_generate(d3_data)
  end

这需要 ruby​​ 哈希,并将其转换为 json

js函数

function dataPieChart(id, data) {  
    var config = {
      "header": {
        "title": {
          "text": "Quiz Questions",
          "fontSize": 18,
          "font": "verdana"
        },
        "size": {
          "canvasHeight": 400,
          "canvasWidth": 500
        },
        "data": {
          "content": data
        },
        "labels": {
          "outer": {
            "pieDistance": 32
          }
        }
      }
    }
    var pie = new d3pie(id, config); 
}

进入视图

<div id="quizQuestionOptionPie<%= question.id %>"></div>

<script type="text/javascript">dataPieChart("quizQuestionOptionPie<%= question.id %>", <%= raw options_data_to_d3(data[:options]) %>);
</script>

当我在 javascript 函数中调用控制台日志以查看数据是什么时,我得到了 d3pie 和 d3 都在寻找的正确输出,但我仍然收到错误消息 d3pie error: no data supplied.

有没有人发现我的代码有问题,或者我遗漏了什么?任何帮助表示赞赏。

【问题讨论】:

    标签: javascript ruby-on-rails ruby json d3.js


    【解决方案1】:

    您的配置选项被错误地括起来(所有内容都是“标题”的子项)。你的意思是:

    var config = {
        "header": {
          "title": {
            "text": "Quiz Questions",
            "fontSize": 18,
            "font": "verdana"
          },
        },
        "size": {
          "canvasHeight": 400,
          "canvasWidth": 500
        },
        "data": {
          "content": data
        },
        "labels": {
          "outer": {
            "pieDistance": 32
          }
        }
      };
    

    【讨论】:

    • 太棒了,无法发现,这就是问题所在。感谢您的帮助
    猜你喜欢
    • 2018-07-17
    • 2020-05-09
    • 2018-04-24
    • 2018-03-05
    • 1970-01-01
    • 2014-07-13
    • 2015-07-26
    • 2018-05-20
    • 2018-04-03
    相关资源
    最近更新 更多