jquery用Echarts实现词云和地图

一、词云

实现如下效果:

 首先引入echarts-wordcloud.js文件

请求数据:

$.ajax({
    url: domainName + '/api/data-visualization/analysis/statistic/wordCloud',
    type: 'post',
    data: {
        beginDate: beginDate,
        endDate: currentDate,
        keywords: '',
    },
    success(res) {
        if (res.code === 200) {
            console.log(res);
            initWordCloud(res.data)
        }
    },
    error(err) {
        console.log(err);
    }
})

返回的数据:

 配置项:

 // 提示信息
        tooltip: {
            show: true,
            backgroundColor: 'rgba(0,0,0,0.5)',
            borderWidth: 0,
            textStyle: {
                color: '#fff',
                fontSize: 14
            },
            trigger: 'item',
            formatter: (params) => {
                let { name, value } = params.data
                return `${params.marker} ${name}:${value}`
            }
        },
        series: [{
            type: 'wordCloud',
            shape: 'circle',
            /*  字体最下 12 最大 60 */
            // 设置文字大小范围
            sizeRange: [12, 60],
            /*  旋转范围 */
            rotationRange: [-90, 90],
            /*  旋转角度  */
            rotationStep: 45,
            // 修改文字(画布)之间的间距
            gridSize: 5,
            /* 不运行画到外侧 */
            drawOutOfBound: false,
            // If perform layout animation.
            // NOTE disable it will lead to UI blocking when there is lots of words.
            layoutAnimation: true,
            textStyle: {
                color: '#1EFFAA',
            },
            data: wordCloudData.map(i => ({
                name: i.x,
                value: i.value
            }))
        }]
    });

二、地图

效果:

 要有地图的json文件

请求数据:

配置项:

const initMap = mapData => {
    $.getJSON('../lib/china.json', data => {
        echarts.registerMap('China', data);
        map.setOption({
            series: [{
                type: 'map',
                mapType: 'China', //  与注册时的名字保持统一   echarts.registerMap('China', geoJson);
                itemStyle: {
                    areaColor: '#1E71FF',
                    borderColor: '#1950CC',
                    borderWidth: 1.5,
                },
                emphasis: {
                    itemStyle: {
                        areaColor: '#00C3F5',
                    },
                },
                select: {
                    label: {
                        show: false
                    },
                    itemStyle: {
                        areaColor: '#1E71FF',
                    },
                },
                zoom: 1.2,
                data: mapData,
            }],
        });
    })
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

•᷄ࡇ•᷅哼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值