我正在使用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);
}
}
在此刻if ($("#block").is(":visible"))
为每个div id调用。
选项如下:
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.我找不到任何解决方案..非常感谢你的帮助!!