echarts的resize问题

琴麻岛 发布于 2014/06/12 10:17
阅读 15K+
收藏 0

Kener-林峰 我在 mychart.setOption(option);之后调用window.onresize = myChart.resize;

但是地图并没有随浏览器大小变化,求救

加载中
0
Kener-林峰
Kener-林峰
会变化的,除非发生过用户自己的缩放或拖拽 发生了 漫游变化,只要用户做过这个操作代表用户掌控大小,所以不会响应resize
0
dlchris
dlchris
Kener-林峰  除了用window.onresize = myChart.resize 重新绘制图表外,是否有其他方法能支持根据浏览器大小自动适应?
0
tracy-li
tracy-li

其它图标用window.onresize = myChart.resize; 可以完成自适应。

但是地图用了后并没有自适应,发现是因为:roamController 缩放漫游组件

把这个缩放漫游组件关掉,就可以自适应啦。

个人感觉echarts的文档写的比较含糊不清 @Kener-林峰  希望可以在缩放漫游组件那块说明一下。

0
y
yhyang

用同步时,Echarts的大小才会自适应; 用异步刷新时,Echarts的大小有时能自适应,有时不能自适应,很奇怪。

$.ajax({

        type: "get",
        async: false,  //同步执行, 改成true就是异步刷新,异步刷新时,画布显示会出现异常
        url: "static/data.json" ,
        dataType: "json",
        success: function (result) {
            if(result.status = 200){               
                options.xAxis.data = result.descriptions.time;
                options.series[0].data = result.read;                 
                myChart.setOption(options);
                //超级重要的一句话,不加这句话,导致Echarts的canvas的width只有min-width的大小
                window.onresize = myChart.resize;
                /*window.onresize = function () {
                    myChart.resize();     
                }*/
            }
        },    
0
贾禄锋
贾禄锋
是不是有多个图表啊
多个图表要
window.addEventListener("resize", () => { this.myChart.resize();  this.myChart2.resize();  this.myChart3.resize();  this.myCharteRadius1.resize();  this.myCharteRadius2.resize();   }); 
返回顶部
顶部