我正在使用ECharts
以动态创建一些折线图。它们是div
根据服务器响应在我的 js 脚本中动态创建的。问题是它们没有显示出来。
我做了一些测试,我注意到如果 div 的高度为 0,则不会显示图表。所以我在div
可见时移动了图表初始化:现在我什么也看不到。
var chartsIds = []; // div id list
var lineCharts = []; // charts array
var optionLineCharts = [];
这是图表初始化函数
function init_echart(id, index) {
if ($("#" + id).length) {
var echartLine = echarts.init(document.getElementById(id), theme);
echartLine.setOption(optionLineCharts[index], true);
lineCharts.push(echartLine);
}
}
此刻为每个 div id 调用它if ($("#block").is(":visible"))
。
选项是这样的:
var echartLineOptions = {
tooltip:
{
trigger: "item",
formatter: function(params) {
var date = new Date(params.value[0]);
data = date.getFullYear() +
"-" +
(date.getMonth() + 1) +
"-" +
date.getDate() +
" " +
date.getHours() +
":" +
date.getMinutes();
return data + "<br/>" + params.value[1];
}
},
legend:
{
data: []
},
toolbox:
{
show: true,
feature: {
mark: { show: true },
dataView: { show: true, readOnly: false },
restore: { show: true },
saveAsImage: { show: true }
}
},
dataZoom: {
show: true,
start: 70
},
xAxis: [
{
type: "time",
splitNumber: 2
}
],
yAxis: [
{
type: "value"
}
],
series:
[]
};
根据服务器响应(正确)填充系列的位置。我可以通过调试看到所有数据和系列。
我注意到即使最大的 div 是可见的,由图表初始化函数创建的 div 的高度 = 0。我找不到任何解决方案..任何帮助都非常感谢!