Javascript 油炸圈饼图NVD3

Javascript 油炸圈饼图NVD3,javascript,nvd3.js,Javascript,Nvd3.js,下面的代码不显示任何我的图表 在这里,好像我改变了绑定,如下所示 但我想通过html助手扩展在服务器端绑定数据。 将对象传递到d3的正确格式是什么? 有什么想法吗 d3.select("#chart svg") .datum(data1) .transition().duration(2200) .call(chart); 像对您的问题的大多数评论一样,我发现用data1替换内联数据可以使它工作 data1 = [ { values : [ {"label":"One","va

下面的代码不显示任何我的图表

在这里,好像我改变了绑定,如下所示

但我想通过html助手扩展在服务器端绑定数据。
将对象传递到d3的正确格式是什么? 有什么想法吗

      d3.select("#chart svg")
.datum(data1)
.transition().duration(2200)
.call(chart);

像对您的问题的大多数评论一样,我发现用data1替换内联数据可以使它工作

data1 = [
{
values :
[
  {"label":"One","value":29.765957771107},
  {"label":"Two","value":0},
  {"label":"Three","value":32.807804682612}
]
  }
];

nv.addGraph(function () 
            {
              var chart = nv.models.pieChart()
                .x(function (d) { return d.label; })
                .y(function (d) { return d.value; })
                .donut(true)
                .donutLabelsOutside(false)
                .showLegend(true)
              .showLabels(true);


    d3.select("#chart svg")
.datum(data1)
        .transition().duration(100)
        .call(chart);

        return chart;
    });
不知道为什么你有一个变量来存储你的值,然后把它们也内联,但它们显然是不同的

nvd3需要一组散列配置选项,其中一个是
值:
。你仍然必须遵循结构

这项工作:

.datum([{values:[{"label":"One","value":29.765957771107},{"label":"Two","value":0.0},{"label":"Three","value":32.807804682612}]}])

我所做的就是把
[你拥有的]
做成
[{values:[你拥有的]}]

你正在使用的两个对象有不同的结构。将对象传递给d3的正确格式是什么?嗯,你的
数据1
工作正常,所以你应该用那种方式格式化数据。对不起。。结构之间的区别是什么。。这是我的json数据[{\'label\':'One\','value\':29.765957771107},{\'label\':'Two\','value\':0.0},{\'label\':'Three\','value\':32.807804682612}]
data1
有一个元素,其中包含
values
下的元素列表,而内联给定的对象有一个元素列表,每个元素都有
label
value
成员(基本上是
data1
中的
values
)。所以修复程序看起来像这个var returnvalue=“[{values:”+Newtonsoft.Json.JsonConvert.SerializeObject(data1)+“}]”;使用的变量是临时的。仅用于与内联数据进行比较
.datum([{values:[{"label":"One","value":29.765957771107},{"label":"Two","value":0.0},{"label":"Three","value":32.807804682612}]}])