如何将JSON数据添加到nvd3图表中
How to add JSON data to nvd3 charts
我是Javascript的新手,在代码中找不到错误。我在这里使用NVD3图表。它是一个基于时间序列的图表,包含特定股票的日期和收盘价。数据范围从2005年到现在。
这是代码
var data= JSON.parse("Data.JSON")
nv.addGraph(function() {
var chart = nv.models.lineChart()
.margin({top: 70, right: 70, bottom: 70, left: 70})
.useInteractiveGuideline(true)
.transitionDuration(100)
.showYAxis(true)
.showXAxis(true)
;
//Chart x-axis settings
chart.xAxis
.axisLabel('date')
.tickFormat(function(d) {return new Date((data.Date - (25567 + 1))*86400*1000);
chart.yAxis //Chart y-axis settings
.axisLabel('close')
.tickFormat(d3.scale.linear(data.Close));
d3.select('#Charts svg') //Selecting the <svg> element where i want to render the chart in.
.datum(data) //Populating the <svg> element with chart data...
.call(chart); //Finally, rendering the chart!
//Update the chart when window resizes.
})
//数据{"日期":[13089、13094、13095、13096、13097、13098、13101、13103、13104、13105、13108、13109、13110]"关闭":【2419.1、2461.6、2492.7、2489.1、2500.7、2548.7、2558.7、2582.8、2603.9、2620.1、2602.5、2572.8】}
与"Date"相比,"Close"中的数组元素数量更少。
以下是您可能正在寻找的一个可能的解决方案:
nv.addGraph(function () {
var chart = nv.models.lineChart();
chart.xAxis.axisLabel('date')
.tickFormat(d3.format(''));
chart.yAxis.axisLabel('close')
.tickFormat(d3.format(''));
d3.select('#dateChart')
.datum(chartData())
.transition().duration(500)
.call(chart);
nv.utils.windowResize(function () {
d3.select('#dateChart').call(chart)
});
return chart;
});
function chartData() {
var myData = {
"Date": [13089, 13094, 13095, 13096, 13097, 13098, 13101, 13103, 13104, 13105, 13108, 13109, 13110],
"Close": [2419.1, 2461.6, 2492.7, 2489.1, 2500.7, 2548.7, 2558.7, 2582.8, 2603.9, 2620.1, 2602.5, 2572.8, 2588.8]
//The number of array elements in Close were less compared to Date. Hence added 2588.8 as the last element
};
var result = [];
for (var i = 0; i < myData.Date.length; i++) {
result.push({
x: myData.Date[i],
y: myData.Close[i]
});
}
return [{
values: result,
key: 'Date Chart',
color: '#ff7f0e'
}];
}
JS Fiddle:https://jsfiddle.net/m7oaxjue/3/
相关文章:
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在映射数组中添加换行符
- 正在将数据主题添加到所有项目
- 添加NVD3图表的选择框
- 如何将参考线添加到 nvd3 离散条形图
- 如何在 nvd3 图例和图表之间添加间隙
- 如何将“平均”线添加到 nvd3.js堆积面积图
- NVD3 是否有将滚动条添加到 NVD3 图表的现有方法
- 将y轴标签添加到NVD3多条形图中
- nvd3向多条形图添加工具提示
- 如何将JSON数据添加到nvd3图表中
- NVD3 -添加额外的功能,传奇点击不覆盖现有的
- 如何将字符串值添加到nvd3折线图x轴值
- 如何为NVD3散点图的每个节点添加onclick事件
- 如何在nvd3中添加画笔,比如d3
- 我如何添加一些文本到NVD3离散条形图的工具提示
- 在angular-nvd3工具提示中添加额外的字段
- NVD3 javascript:为散点图中的点添加颜色
- 如何将选项卡索引属性添加到 nvd3 饼图
- 用nvd3添加背景到图形的特定部分