数据流向效果图

最近一直和可视化打交道,分享一个数据流向图.

因为本人原生canvas纯属新手,所有决定采用插件辅助。首先尝试jtopo半天,发现需要对其进行扩展。又回到问题原点,“canvas”。

于是发现echart上的地图的迁徙线就很满足这种动的效果,于是对配置进行了改造,完成了这种看起来活泼的图。

当然上面的图标、箭头等都是从阿里图库上copy的,仅仅写了些定位算法。

如果有大牛有简单的实现方式,可以互相交流。灰常感谢~

代码:

  var option =  {
                    title: {
                        text: "云监控平台数据交互流",
                        top: "top",
                        left: "center",
                        textStyle:{
                            color:"#f8f8f8",
                            fontSize:26
                        }
                    },
                    tooltip: {
                        trigger: 'item',
                        formatter: function(o) {
                            if($.isArray(o.value)){
                                return o.name + ":" + o.value[2];
                            }
                            else{
                                return o.data.name;
                            }
                        }
                    },

                    geo: {
                        map: 'MyGum',
                        label: {
                            emphasis: {
                                show: false
                            }
                        },
                        roam: true,
                        itemStyle: {
                            normal: {
                                color:'rgba(255,255,255,0)',
                                areaColor:'rgba(255,255,255,0)',
                                borderColor:'rgba(22,22,2,0)'

                            },
                            emphasis: {

                                color:'rgba(22,22,2,0)',
                                areaColor:'rgba(255,255,255,0)',
                                borderColor:'rgba(22,22,2,0)'
                            }
                        }
                    },
                    series: [{

                        type: 'lines',
                        zlevel: 1,
                        effect: {
                            show: true,
                            period: 3,
                            trailLength: 0.1,
                            color: '#A6C84C',
                            symbolSize: 8
                        },
                        lineStyle: {
                            normal: {
                                color: '#a6c84c',
                                width: 0,
                                curveness: 0.2
                            }
                        },
                        data: []
                    }, {

                        type: 'lines',
                        zlevel: 2,
                        effect: {
                            show: true,
                            period: 3,
                            trailLength: 0,
                            //symbol: 'image://',
                            symbol: response.planePath,
                            symbolSize: 15
                        },
                        lineStyle: {
                            normal: {
                                color: '#a6c84c',
                                width: 1,
                                opacity: 0.4,
                                curveness: 0.2
                            }
                        },
                        data: []
                    }, {

                        type: 'effectScatter',
                        coordinateSystem: 'geo',
                        zlevel: 2,
                        rippleEffect: {
                            period: 6,
                            scale: 2,
                            brushType: 'stroke'
                        },
                        label: {
                            normal: {
                                show: true,
                                position: 'right',
                                formatter: '{b}'
                            }
                        },

                        symbolSize: '50',
                        itemStyle: {
                            normal: {
                                color: '#a6c84c',
                            }
                        },
                        data: []
                    }]
                },

效果图:

posted @ 2017-06-30 17:24  MyGum  Views(5511)  Comments(2Edit  收藏  举报