一、echart中國地圖高亮
在echart中國地圖中,我們可以非常輕鬆地實現對某個區域的高亮展示,只需利用echarts提供的API,即可設定相關的高亮屬性:
// 設定一個區域的高亮展示 myChart.setOption({ series: [{ type: 'map', map: 'china', emphasis: { itemStyle: { areaColor: '#F3B329' } }, label: { show: true }, data: [] }] });
上述代碼中,我們將中國地圖設置為主視圖,然後用emphasis:itemStyle對象設定了該視圖的高亮顏色,其它屬性可以查閱echarts的文檔,以便進行合理的配置和實現。
二、echart中國地圖背景漸變
echart為用戶提供了豐富的可視化方案,其中一個實用的特性便是支持為地圖背景配置漸變的效果。我們只需稍加修改主題色值即可實現:
// 背景色漸變處理 myChart.setOption({ backgroundColor: { type: 'linear', x: 0, y: 0, x2: 0, y2: 1, colorStops: [{ offset: 0, color: '#113681' // 0% 處的顏色 }, { offset: 1, color: '#1979D2' // 100% 處的顏色 }], globalCoord: false // 缺省為 false }, series: [{ ... }] });
通過為屬性backgroundColor設定一個linear對象,即可實現對地圖背景色的線性漸變處理,具有極強的視覺衝擊力。
三、echart中國地圖圖例
同時,echart也支持可自定義的地圖圖例,如按照百分比顏色展示不同數據的區域:
// 設置echart圖例 myChart.setOption({ visualMap: { min: 0, max: 100, left: 'left', top: 'bottom', text: ['高', '低'], // 文本,默認為數值文本 calculable: true, inRange: { color: ['#B5C2CF', '#022B69'] } }, series: [{ ... }] });
如上方代碼所進行的操作,在echarts中常用屬性visualMap中,我們可以設置visualMap.inRange.color的顏色,以及相關的最大和最小值等內容,快速對地圖展示效果進行配置和調整。
四、echart中國地圖顛倒
在某些應用場景中,我們需要對中國地圖進行顛倒後的展示,此時也可以使用echart的相關API來輕鬆實現:
// 中國地圖顛倒 myChart.setOption({ geo: { map: 'china', top: '10%', bottom: '15%', left: '30%', right: '30%', roam: true, scaleLimit: { min: 1, max: 2 }, inverse: true, label: { normal: { show: true, textStyle: { color: '#ddd' } } }, itemStyle: { normal: { borderColor: 'rgba(147, 235, 248, 1)', borderWidth: 1, areaColor: { type: 'radial', x: 0.5, y: 0.5, r: 0.8, colorStops: [{ offset: 0, color: 'rgba(147, 235, 248, 0)' // 0% 處的顏色 }, { offset: 1, color: 'rgba(147, 235, 248, .2)' // 100% 處的顏色 }], globalCoord: false // 缺省為 false }, shadowColor: 'rgba(128, 217, 248, 1)', // shadowColor: 'rgba(255, 255, 255, 1)', shadowOffsetX: -2, shadowOffsetY: 2, shadowBlur: 10 }, emphasis: { areaColor: '#389BB7', borderWidth: 0 } } }, series: [{ ... }] });
以上代碼中,我們將geo對象相關的參數進行設置實現中國地圖的顛倒顯示,如將top、bottom、left和right等坐標系參數進行合理配置,從而達到特定效果。
五、echart中國地圖icon
echart也支持在地圖中插入自定義的icon圖標,以方便用戶對地圖數據的展示和處理:
// 中國地圖自定義icon myChart.setOption({ geo: { map: 'china', label: { normal: { show: true, textStyle: { color: 'rgba(0,0,0,0.4)' } } }, roam: true, itemStyle: { normal: { borderWidth: 0.5, borderColor: 'rgba(0, 0, 0, 0.2)' } }, // 插入自定義icon regions: [{ name: '南海諸島', value: 0, itemStyle: { normal: { opacity: 0, label: { show: false } } }, // 自定義icon geoCoord: { '南海諸島': [112.921019, 8.325475] }, type: 'effectScatter', effectType: 'ripple', symbolSize: 3 }] }, series: [{ ... }] });
在以上示例代碼中,我們在regions屬性中定義需要插入icon的區域和對應的一些樣式配置,如itemStyle,效果非常漂亮而且方便。
六、echart中國地圖默認高亮
echart實現中國地圖的默認高亮,使用上比較方便,只需在series中使用itemStyle中的emphasis對象,並設置高亮顏色即可,效果和前面提到的操作差別不大:
// 默認高亮一些區域 myChart.setOption({ series: [{ type: 'map', map: 'china', data: [], itemStyle: { normal: { areaColor: '#F3B329', borderColor: '#333', borderWidth: 0.5 }, emphasis: { areaColor: '#F3B329' } } }] });
七、echart中國地圖釣魚島
echarts中也提供釣魚島的相關地區信息,通過在echart中修改視圖項的相關調用參數即可實現釣魚島地區的高亮、顏色等配置:
// China's island color var chinaIslandColor = '#C5CCD0'; option.series.push({ name: '', type: 'map', mapType: 'china', selectedMode: 'single', data: [], itemStyle: { normal: { label: { show: false } }, emphasis: { label: { show: false } } }, geoCoord: { '釣魚島': [123.5, 25.6] }, markPoint: { symbol: "image://img/diaoyu.png", symbolSize: [24, 33], itemStyle: { normal: { label: { show: false }, color: chinaIslandColor, borderColor: '#fff', borderWidth: 1.5 } }, data: [ { name: '釣魚島', value: 0, geoCoord: [123.5, 25.6] } ] } }); myChart.setOption(option, true);
如上述代碼所完成的操作,即為釣魚島地區的標註和強調的處理,方便用戶進行地圖結構性的認知。
八、echart中國地圖的某省邊框加粗
有時,我們需要對中國地圖中某些更為重要的省份邊框進行加粗和突出,以便更容易觀察到細節和特質,此時我們可以使用echart提供的邊框繪製功能完成相關的操作,其實現代碼如下:
// 中國地圖省份邊框加粗 myChart.setOption({ series: [{ type: 'map', map: 'china', itemStyle: { normal: { label: { show: true }, borderWidth: 1, borderColor: '#009fe8' }, emphasis: { label: { show: true } } }, data: [] }, { type: 'map', map: 'china', geoIndex: 0, aspectScale: 0.75, //長寬比 showLegendSymbol: false, // 存在legend時顯示 label: { normal: { show: false }, emphasis: { show: false, textStyle: { color: '#fff' } } }, roam: true, itemStyle: { normal: { areaColor: '#031525', borderColor: '#3B5077' }, emphasis: { areaColor: '#2B91B7' } }, animation: false, data: [] }] });
以上代碼中,我們僅需將itemStyle.normal中的borderWidth對應的值調整為讓相關區域邊框加粗即可實現該特性的實現。
九、echarts中國地圖的使用
最後,我們整理一份完整的echarts中國地圖的示例代碼如下,方便大家使用和了解echarts相關的操作:
中國地圖 原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/238720.html