3 回答
TA贡献1770条经验 获得超3个赞
要创建图表,您必须传递一个将成为图表容器的 HTML 元素。在您的代码中缺少什么。检查我准备重现这个问题的演示:https : //jsfiddle.net/BlackLabel/c60y1t2v/
代码:
var chartArray = [],
counter = 1,
dataArr = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
],
containers = document.getElementById('containers');
function drawChart(data) {
var cnt = document.createElement('div'),
cntId = 'container' + counter++,
chart;
cnt.setAttribute('id', cntId);
containers.appendChild(cnt);
chart = new Highcharts.Chart(cntId, {
title: {
text: "title",
},
xAxis: {
categories: [1, 2, 3, 4],
},
series: [{
type: 'line',
data: data,
}]
});
return chart;
}
dataArr.forEach(function(data) {
var chart = drawChart(data);
chartArray.push(chart);
});
TA贡献1790条经验 获得超9个赞
存储图表选项,Array然后映射到每个选项的 Initialize Highchart。
var chartArray = [];
function drawChart(data1, data2, data3, i) {
// Create container for charts
const el = document.createElement('div');
document.body.appendChild(el).setAttribute("id", "container"+i);
// Create charts
var chart = new Highcharts.chart(el, {
series: [{
type: 'line',
data: data1,
}, {
type: 'line',
data: data2,
}, {
type: 'line',
data: data3,
}]
});
chartArray.push(chart);
console.log(chartArray);
}
var counter = 0;
var delayTime = 2000;
var timer = setInterval(function(){
var data1 = [30, 70, 50];
var data2 = [40, 70, 60];
var data3 = [10, 90, 20];
drawChart(data1, data2, data3, counter);
if(counter == 2){
clearInterval(timer);
}
counter++;
},delayTime);
<script src="https://code.highcharts.com/highcharts.js"></script>
TA贡献1848条经验 获得超6个赞
要将HTML打印为PDF,您可以使用此软件“ wkhtmltopdf ”
在 Linux 中你需要使用这个命令:
sudo apt-get install wkhtmltopdf
有许多基于“wkhtmltopdf”的多种语言的库,因此您可以使用它。
PHP 库:https : //github.com/mikehaertl/phpwkhtmltopdf
添加回答
举报