天天看點

基于Echarts實作可視化資料大屏Echarts地圖炫光标記

前言

🚀 基于 Echarts 實作可視化資料大屏響應式展示效果的源碼,,基于html+css+javascript+echarts制作, 可以在此基礎上重新開發。

本項目中使用的是echarts圖表庫,ECharts 提供了正常的折線圖、柱狀圖、散點圖、餅圖、K線圖,用于統計的盒形圖,用于地理資料可視化的地圖、熱力圖、線圖,用于關系資料可視化的關系圖、treemap、旭日圖,多元資料可視化的平行坐标,還有用于 BI 的漏鬥圖,儀表盤,并且支援圖與圖之間的混搭。

文章目錄

  • ​​前言​​
  • ​​一、Echart是什麼​​
  • ​​二、ECharts入門教程​​
  • ​​三、作品示範​​
  • ​​四、代碼實作​​
  • ​​1.HTML​​
  • ​​五、更多幹貨​​

一、Echart是什麼

ECharts是一個使用 JavaScript 實作的開源可視化庫,可以流暢的運作在 PC 和移動裝置上,相容目前絕大部分浏覽器(IE8/9/10/11,Chrome,Firefox,Safari等),底層依賴矢量圖形庫 ZRender,提供直覺,互動豐富,可高度個性化定制的資料可視化圖表。

二、ECharts入門教程

​​5 分鐘上手ECharts​​

三、作品示範

四、代碼實作

1.HTML

<html lang="en">

<head>
    <meta charset="utf-8">
    <title>ECharts</title>
</head>

<body style="background:#1B1B1B">
    <!--Step:1 Prepare a dom for ECharts which (must) has size (width & hight)-->
    <!--Step:1 為ECharts準備一個具備大小(寬高)的Dom-->

    <div id="mainMap" style="height:400px;width: 700px;padding:10px;background:#1B1B1B">
    </div>
    <!--Step:2 Import echarts.js-->
    <!--Step:2 引入echarts.js-->

    <script type="text/javascript" src="js/jquery-1.8.0.js"></script>
    <script src="js/echarts.js" charset="UTF-8"></script>
    <script type="text/javascript">$('#document').ready(function() {
            getEcharts();
        });</script>

    <script type="text/javascript">function getEcharts() {
            // Step:3 conifg ECharts's path, link to echarts.js from current page.
            // Step:3 為子產品加載器配置echarts的路徑,從目前頁面連結到echarts.js,定義所需圖表路徑
            require.config({
                paths: {
                    echarts: './js'
                }
            });

            // Step:4 require echarts and use it in the callback.
            // Step:4 動态加載echarts然後在回調函數中開始使用,注意保持按需加載結構定義圖表路徑
            require(
                [
                    'echarts',
                    'echarts/chart/map'
                ],
                function(ec) {
                    // --- 地圖 ---
                    var myChart2 = ec.init(document.getElementById('mainMap'));
                    myChart2.setOption({
                        dataRange: {
                            min: 0,
                            max: 100,
                            calculable: true,
                            color: ['#ff3333', 'orange', 'yellow', 'lime', 'aqua'],
                            textStyle: {
                                color: '#fff'
                            }
                        },
                        series: [{
                                name: '全國',
                                type: 'map',
                                roam: true,
                                hoverable: false,
                                mapType: 'china',
                                itemStyle: {
                                    normal: {
                                        borderColor: 'rgba(100,149,237,1)',
                                        borderWidth: 0.5,
                                        areaStyle: {
                                            color: '#1b1b1b'
                                        }
                                    }
                                },
                                data: [],
                                markLine: {
                                    smooth: true,
                                    symbol: ['none', 'circle'],
                                    symbolSize: 1,
                                    itemStyle: {
                                        normal: {
                                            color: '#fff',
                                            borderWidth: 1,
                                            borderColor: 'rgba(30,144,255,0.5)'
                                        }
                                    },
                                    data: [],
                                },
                                geoCoord: {
                                    '上海': [121.4648, 31.2891],
                                    '東莞': [113.8953, 22.901],
                                    '東營': [118.7073, 37.5513],
                                    '中山': [113.4229, 22.478],
                                    '臨汾': [111.4783, 36.1615],
                                    '臨沂': [118.3118, 35.2936],
                                    '丹東': [124.541, 40.4242],
                                    '麗水': [119.5642, 28.1854],
                                    '烏魯木齊': [87.9236, 43.5883],
                                    '佛山': [112.8955, 23.1097],
                                    '保定': [115.0488, 39.0948],
                                    '蘭州': [103.5901, 36.3043],
                                    '標頭': [110.3467, 41.4899],
                                    '北京': [116.4551, 40.2539],
                                    '北海': [109.314, 21.6211],
                                    '南京': [118.8062, 31.9208],
                                    '南甯': [108.479, 23.1152],
                                    '南昌': [116.0046, 28.6633],
                                    '南通': [121.1023, 32.1625],
                                    '廈門': [118.1689, 24.6478],
                                    '台州': [121.1353, 28.6688],
                                    '合肥': [117.29, 32.0581],
                                    '呼和浩特': [111.4124, 40.4901],
                                    '鹹陽': [108.4131, 34.8706],
                                    '哈爾濱': [127.9688, 45.368],
                                    '唐山': [118.4766, 39.6826],
                                    '嘉興': [120.9155, 30.6354],
                                    '大同': [113.7854, 39.8035],
                                    '大連': [122.2229, 39.4409],
                                    '天津': [117.4219, 39.4189],
                                    '太原': [112.3352, 37.9413],
                                    '威海': [121.9482, 37.1393],
                                    '甯波': [121.5967, 29.6466],
                                    '寶雞': [107.1826, 34.3433],
                                    '宿遷': [118.5535, 33.7775],
                                    '常州': [119.4543, 31.5582],
                                    '廣州': [113.5107, 23.2196],
                                    '廊坊': [116.521, 39.0509],
                                    '延安': [109.1052, 36.4252],
                                    '張家口': [115.1477, 40.8527],
                                    '徐州': [117.5208, 34.3268],
                                    '德州': [116.6858, 37.2107],
                                    '惠州': [114.6204, 23.1647],
                                    '成都': [103.9526, 30.7617],
                                    '揚州': [119.4653, 32.8162],
                                    '承德': [117.5757, 41.4075],
                                    '拉薩': [91.1865, 30.1465],
                                    '無錫': [120.3442, 31.5527],
                                    '日照': [119.2786, 35.5023],
                                    '昆明': [102.9199, 25.4663],
                                    '杭州': [119.5313, 29.8773],
                                    '棗莊': [117.323, 34.8926],
                                    '柳州': [109.3799, 24.9774],
                                    '株洲': [113.5327, 27.0319],
                                    '武漢': [114.3896, 30.6628],
                                    '汕頭': [117.1692, 23.3405],
                                    '江門': [112.6318, 22.1484],
                                    '沈陽': [123.1238, 42.1216],
                                    '滄州': [116.8286, 38.2104],
                                    '河源': [114.917, 23.9722],
                                    '泉州': [118.3228, 25.1147],
                                    '泰安': [117.0264, 36.0516],
                                    '泰州': [120.0586, 32.5525],
                                    '濟南': [117.1582, 36.8701],
                                    '濟甯': [116.8286, 35.3375],
                                    '海口': [110.3893, 19.8516],
                                    '淄博': [118.0371, 36.6064],
                                    '淮安': [118.927, 33.4039],
                                    '深圳': [114.5435, 22.5439],
                                    '清遠': [112.9175, 24.3292],
                                    '溫州': [120.498, 27.8119],
                                    '渭南': [109.7864, 35.0299],
                                    '湖州': [119.8608, 30.7782],
                                    '湘潭': [112.5439, 27.7075],
                                    '濱州': [117.8174, 37.4963],
                                    '濰坊': [119.0918, 36.524],
                                    '煙台': [120.7397, 37.5128],
                                    '玉溪': [101.9312, 23.8898],
                                    '珠海': [113.7305, 22.1155],
                                    '鹽城': [120.2234, 33.5577],
                                    '盤錦': [121.9482, 41.0449],
                                    '石家莊': [114.4995, 38.1006],
                                    '福州': [119.4543, 25.9222],
                                    '秦皇島': [119.2126, 40.0232],
                                    '紹興': [120.564, 29.7565],
                                    '聊城': [115.9167, 36.4032],
                                    '肇慶': [112.1265, 23.5822],
                                    '舟山': [122.2559, 30.2234],
                                    '蘇州': [120.6519, 31.3989],
                                    '萊蕪': [117.6526, 36.2714],
                                    '菏澤': [115.6201, 35.2057],
                                    '營口': [122.4316, 40.4297],
                                    '葫蘆島': [120.1575, 40.578],
                                    '衡水': [115.8838, 37.7161],
                                    '衢州': [118.6853, 28.8666],
                                    '西甯': [101.4038, 36.8207],
                                    '西安': [109.1162, 34.2004],
                                    '貴陽': [106.6992, 26.7682],
                                    '連雲港': [119.1248, 34.552],
                                    '邢台': [114.8071, 37.2821],
                                    '邯鄲': [114.4775, 36.535],
                                    '鄭州': [113.4668, 34.6234],
                                    '鄂爾多斯': [108.9734, 39.2487],
                                    '重慶': [107.7539, 30.1904],
                                    '金華': [120.0037, 29.1028],
                                    '銅川': [109.0393, 35.1947],
                                    '銀川': [106.3586, 38.1775],
                                    '鎮江': [119.4763, 31.9702],
                                    '長春': [125.8154, 44.2584],
                                    '長沙': [113.0823, 28.2568],
                                    '長治': [112.8625, 36.4746],
                                    '陽泉': [113.4778, 38.0951],
                                    '青島': [120.4651, 36.3373],
                                    '韶關': [113.7964, 24.7028]
                                },
                                markPoint: {
                                    symbol: 'emptyCircle',
                                    symbolSize: function(v) {
                                        return 10 + v / 10
                                    },
                                    effect: {
                                        show: true,
                                        shadowBlur: 0
                                    },
                                    itemStyle: {
                                        normal: {
                                            label: {
                                                show: false
                                            }
                                        },
                                        emphasis: {
                                            label: {
                                                position: 'top'
                                            }
                                        }
                                    },
                                    data: [{
                                            name: '上海',
                                            value: 95
                                        },
                                        {
                                            name: '廣州',
                                            value: 90
                                        },
                                        {
                                            name: '大連',
                                            value: 80
                                        },
                                        {
                                            name: '南甯',
                                            value: 70
                                        },
                                        {
                                            name: '南昌',
                                            value: 60
                                        },
                                        {
                                            name: '拉薩',
                                            value: 50
                                        },
                                        {
                                            name: '長春',
                                            value: 40
                                        },
                                        {
                                            name: '標頭',
                                            value: 30
                                        },
                                        {
                                            name: '重慶',
                                            value: 20
                                        },
                                        {
                                            name: '常州',
                                            value: 10
                                        }
                                    ]
                                }
                            },
                            {
                                name: '北京 Top10',
                                type: 'map',
                                mapType: 'china',
                                data: [],
                                markLine: {
                                    smooth: true,
                                    effect: {
                                        show: true,
                                        scaleSize: 1,
                                        period: 30,
                                        color: '#fff',
                                        shadowBlur: 10
                                    },
                                    itemStyle: {
                                        normal: {
                                            label: {
                                                show: false
                                            },
                                            borderWidth: 1,
                                            lineStyle: {
                                                type: 'solid',
                                                shadowBlur: 10
                                            }
                                        }
                                    },
                                    data: [
                                        [{
                                            name: '上海'
                                        }, {
                                            name: '北京',
                                            value: 95
                                        }],
                                        [{
                                            name: '廣州'
                                        }, {
                                            name: '北京',
                                            value: 90
                                        }],
                                        [{
                                            name: '大連'
                                        }, {
                                            name: '北京',
                                            value: 80
                                        }],
                                        [{
                                            name: '南甯'
                                        }, {
                                            name: '北京',
                                            value: 70
                                        }],
                                        [{
                                            name: '南昌'
                                        }, {
                                            name: '北京',
                                            value: 60
                                        }],
                                        [{
                                            name: '拉薩'
                                        }, {
                                            name: '北京',
                                            value: 50
                                        }],
                                        [{
                                            name: '長春'
                                        }, {
                                            name: '北京',
                                            value: 40
                                        }],
                                        [{
                                            name: '標頭'
                                        }, {
                                            name: '北京',
                                            value: 30
                                        }],
                                        [{
                                            name: '重慶'
                                        }, {
                                            name: '北京',
                                            value: 20
                                        }],
                                        [{
                                            name: '常州'
                                        }, {
                                            name: '北京',
                                            value: 10
                                        }]
                                    ]
                                },
                                markPoint: {
                                    symbol: 'emptyCircle',
                                    symbolSize: function(v) {
                                        return 0.1
                                    },
                                    effect: {
                                        show: false,
                                        shadowBlur: 0
                                    },
                                    itemStyle: {
                                        normal: {
                                            label: {
                                                show: true,
                                                position: 'top',
                                                textStyle: {
                                                    fontSize: 14
                                                }
                                            }
                                        },
                                        emphasis: {
                                            label: {
                                                show: false
                                            }
                                        }
                                    },
                                    data: [{
                                            name: '上海',
                                            value: 95
                                        },
                                        {
                                            name: '廣州',
                                            value: 90
                                        },
                                        {
                                            name: '大連',
                                            value: 80
                                        },
                                        {
                                            name: '南甯',
                                            value: 70
                                        },
                                        {
                                            name: '南昌',
                                            value: 60
                                        },
                                        {
                                            name: '拉薩',
                                            value: 50
                                        },
                                        {
                                            name: '長春',
                                            value: 40
                                        },
                                        {
                                            name: '標頭',
                                            value: 30
                                        },
                                        {
                                            name: '重慶',
                                            value: 20
                                        },
                                        {
                                            name: '常州',
                                            value: 10
                                        }
                                    ]
                                }
                            }
                        ]
                    });
                });
        }</script>
</body>

</html>