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
添加回答
舉報