echart中國地圖詳解

一、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-tw/n/238720.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:12
下一篇 2024-12-12 12:12

相關推薦

  • 神經網路代碼詳解

    神經網路作為一種人工智慧技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網路的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網路模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁碟中。在執行sync之前,所有的文件系統更新將不會立即寫入磁碟,而是先緩存在內存…

    編程 2025-04-25
  • Linux修改文件名命令詳解

    在Linux系統中,修改文件名是一個很常見的操作。Linux提供了多種方式來修改文件名,這篇文章將介紹Linux修改文件名的詳細操作。 一、mv命令 mv命令是Linux下的常用命…

    編程 2025-04-25
  • Python輸入輸出詳解

    一、文件讀寫 Python中文件的讀寫操作是必不可少的基本技能之一。讀寫文件分別使用open()函數中的’r’和’w’參數,讀取文件…

    編程 2025-04-25
  • Python安裝OS庫詳解

    一、OS簡介 OS庫是Python標準庫的一部分,它提供了跨平台的操作系統功能,使得Python可以進行文件操作、進程管理、環境變數讀取等系統級操作。 OS庫中包含了大量的文件和目…

    編程 2025-04-25
  • Java BigDecimal 精度詳解

    一、基礎概念 Java BigDecimal 是一個用於高精度計算的類。普通的 double 或 float 類型只能精確表示有限的數字,而對於需要高精度計算的場景,BigDeci…

    編程 2025-04-25
  • nginx與apache應用開發詳解

    一、概述 nginx和apache都是常見的web伺服器。nginx是一個高性能的反向代理web伺服器,將負載均衡和緩存集成在了一起,可以動靜分離。apache是一個可擴展的web…

    編程 2025-04-25
  • git config user.name的詳解

    一、為什麼要使用git config user.name? git是一個非常流行的分散式版本控制系統,很多程序員都會用到它。在使用git commit提交代碼時,需要記錄commi…

    編程 2025-04-25
  • MPU6050工作原理詳解

    一、什麼是MPU6050 MPU6050是一種六軸慣性感測器,能夠同時測量加速度和角速度。它由三個感測器組成:一個三軸加速度計和一個三軸陀螺儀。這個組合提供了非常精細的姿態解算,其…

    編程 2025-04-25
  • 詳解eclipse設置

    一、安裝與基礎設置 1、下載eclipse並進行安裝。 2、打開eclipse,選擇對應的工作空間路徑。 File -> Switch Workspace -> [選擇…

    編程 2025-04-25

發表回復

登錄後才能評論