Javascript 油炸圈饼图NVD3
下面的代码不显示任何我的图表 在这里,好像我改变了绑定,如下所示 但我想通过html助手扩展在服务器端绑定数据。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
将对象传递到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}]}])