1

我正在使用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。我找不到任何解决方案..任何帮助都非常感谢!

4

0 回答 0