【发布时间】:2015-12-02 20:29:22
【问题描述】:
所以我有大量数据需要显示,全部存储在单独的 CSV 文件中。因此,我在 highcharts 中创建了两个图表,一条线,一个区域,但不是一遍又一遍地复制和粘贴函数,我希望我可以像这样迭代它:
var library = ['data/data.csv', 'data/attendanceGroup.csv'];
var libraryLength = library.length;
var area =['#attendanceRoom','#attendanceGroup'];
var i = 0;
function areaChart(){
$(function () {
$.get(library[i], function(csv) {
$(area[i]).highcharts({
chart: {
type: 'area'
},
data: {
csv: csv
},
title: {
text: 'Attendance by Room'
},
yAxis: {
title: {
text: null
},
minorTickInterval: 'auto'
},
legend:{
align: 'left',
verticalAlign: 'top',
floating: true
},
});
});
});
}
for (i = 0; i < libraryLength; i++){
areaChart();
}
我正在使用 jQuery.extend() 或 Highcharts.setOptions 查看这个Manage multiple highchart charts in a single webpage,但它会为每个单独的图表设置选项,然后你只需一遍又一遍地制作它们。我认为更好的解决方案可能是只拥有一个函数,然后为每个单独的图表重新运行它,特别是因为我从 .CSV 文件中提取数据。
那么这可能吗?还是我应该使用 jQuery.extend()?
提前感谢您的帮助!
【问题讨论】:
-
鉴于您的各个图表之间存在微小/可预测的差异,这看起来是一个完美的解决方案。
标签: javascript jquery arrays csv highcharts