根据官方实例改的,官方的代码可以直接运行,改过的出现这样的问题echarts.js:1 Uncaught TypeError: Cannot read property 'xAxis' of undefined

老king 发布于 2018/01/25 15:30
阅读 848
收藏 0

@Kener-林峰 你好,想跟你请教个问题:用echart做动态数据,在官方实例上改的,改完之后可以在官方页面运行,图也做的很好,但是自己把代码复制用浏览器打开之后,出现这样的问题:

echarts.js:1 Uncaught TypeError: Cannot read property 'xAxis' of undefined
    at e (echarts.js:1)
    at i.getOption (echarts.js:1)
    at i.addData (echarts.js:1)
    at new 2.html:99

官方的代码复制打开之后可以直接运行,请教一下,谢谢!

我自己改的代码:

<div id="main" style="height:400px"></div>
     <script src="http://echarts.baidu.com/build/dist/echarts.js"></script>
      <script type="text/javascript">
        require.config({
            paths: {
                echarts: 'http://echarts.baidu.com/build/dist'
            }
        });
        // 使用
        require
        (
            [
                'echarts',
                'echarts/chart/line' 
                // 使用柱状图就加载bar模块,按需加载
            ],
            function (ec) 
            {
                // 基于准备好的dom,初始化echarts图表
                var myChart = ec.init(document.getElementById('main')); 
                var option = {
    title : {
        text: '动态数据',
        
    },
    tooltip : {
        trigger: 'axis'
    },
    legend: {
        data:['最新成交价',]
    },
    toolbox: {
        show : true,
        feature : {
            mark : {show: true},
            dataView : {show: true, readOnly: false},
           
            restore : {show: true},
            saveAsImage : {show: true}
        }
    },
    dataZoom : {
        show : false,
        start : 0,
        end : 100
    },
    xAxis : [
        {
            type : 'category',
            boundaryGap : true,
            data : (function (){
                var now = new Date();
                var res = [];
                var len = 10;
                while (len--) {
                    res.unshift(now.toLocaleTimeString().replace(/^\D*/,''));
                    now = new Date(now - 2000);
                }
                return res;
            })()
        },
        
    ],
    yAxis : [
        {
            type : 'value',
            scale: true,
            name : '价格',
            boundaryGap: [0.2, 0.2]
        },
        
    ],
    series : [
       
        {
            name:'最新成交价',
            type:'line',
            data:(function (){
                var res = [];
                var len = 20;
                while (len--) {
                    res.push((Math.random()*10 + 5).toFixed(1) - 0);
                }
                return res;
            })()
        }
    ]
};
var lastData = 21;
var axisData;
var timeTicket;
clearInterval(timeTicket);
timeTicket = setInterval(function (){
    lastData += Math.random() * ((Math.round(Math.random() * 10) % 2) == 0 ? 1 : -1);
    lastData = lastData.toFixed(1) - 0;
    axisData = (new Date()).toLocaleTimeString().replace(/^\D*/,'');
    
    // 动态数据接口 addData
    myChart.addData([
       [
            0,        // 系列索引
            Math.round(Math.random() * 1000), // 新增数据
            true,     // 新增数据是否从队列头部插入
            false     // 是否增加队列长度,false则自定删除原有数据,队头插入删队尾,队尾插入删队头
        ],
        [
            0,        // 系列索引
            lastData, // 新增数据
            true,    // 新增数据是否从队列头部插入
            false,    // 是否增加队列长度,false则自定删除原有数据,队头插入删队尾,队尾插入删队头
            axisData  // 坐标轴标签
        ]
    ]);
}, 2100);
            }
        );
    </script>

加载中
返回顶部
顶部