echarts餅圖百分比詳解

一、echarts餅圖百分比實現原理

echarts餅圖的實現原理是將數據按比例分為多個扇形,根據扇形所佔比例在圓心處標出百分比數值,同時在圖例中標出具體數值及對應顏色信息,讓用戶直觀地了解數據分佈情況。

option = {
    tooltip: {
        formatter: "{b} : {c} ({d}%)"
    },
    legend: {
        data:['數據1','數據2','數據3']
    },
    series : [
        {
            name: '數據分佈',
            type: 'pie',
            radius : '55%',
            center: ['50%', '60%'],
            data:[
                {value:500, name:'數據1'},
                {value:300, name:'數據2'},
                {value:200, name:'數據3'}
            ],
            itemStyle: {
                emphasis: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            }
        }
    ]
};

二、echarts餅圖

echarts餅圖是一種常用的數據可視化圖表,可以直觀地展現數據的比例關係。

在echarts餅圖中,每個扇形代表一種數據,扇形所佔角度越大表示該數據所佔比例越大。通過不同的顏色區分不同的數據,使得數據變得更加容易理解。

三、echarts餅圖百分比自定義

用戶可以通過echarts的API自定義餅圖百分比的樣式、顏色、標籤等信息,以滿足個性化需求。

下面是一個自定義echarts餅圖的例子:

option = {
    tooltip: {
        formatter: "{b} : {c} ({d}%)"
    },
    legend: {
        data:['數據1','數據2','數據3']
    },
    series : [
        {
            name: '數據分佈',
            type: 'pie',
            radius : ['40%', '55%'],
            center: ['50%', '60%'],
            roseType: 'radius',
            label: {
                formatter: '{b|{b}:}{c}  {per|{d}%}  ',
                rich: {
                    b: {
                        fontSize: 12,
                        lineHeight: 20
                    },
                    per: {
                        fontSize: 12,
                        lineHeight: 20
                    }
                }
            },
            data:[
                {value:500, name:'數據1'},
                {value:300, name:'數據2'},
                {value:200, name:'數據3'}
            ],
            itemStyle: {
                emphasis: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            }
        }
    ]
};

四、echarts餅圖百分比為0不顯示

在某些情況下,數據可能出現0值的情況,為了避免顯示的數據有誤,用戶可以將0值對應的扇形隱藏掉。

option = {
     series: [{
         type: 'pie',
         data: [
             {value:0, name:'數據1', itemStyle:{normal:{opacity:0}}},
             {value:300, name:'數據2'},
             {value:200, name:'數據3'}
         ]
     }]
};

五、echarts餅圖間隙

為了使餅圖更加美觀,用戶可以通過設置餅圖間隙來控制扇形之間的距離。

option = {
    series : [
        {
            type:'pie',
            radius : ['50%', '70%'],
            avoidLabelOverlap: false,
            label: {
                show: false,
                position: 'center'
            },
            data:[
                {value:335, name:'數據1'},
                {value:310, name:'數據2'},
                {value:234, name:'數據3'}
            ],
            itemStyle: {
                emphasis: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            },
            roseType: 'angle',
            //餅圖間隙
            //每個扇形之前的間隙大小
            //為百分比值,數值在0~1之間
            //若該值為0,則組成的就是環形圖了
            //默認值為0
            labelLine: {
                normal: {
                    length: 1,
                    length2: 25,
                    smooth: true,
                    lineStyle: {
                        color: 'rgba(255, 255, 255, 0.3)'
                    }
                }
            },
            silent: false
        }
    ]
};

六、echarts餅圖圖例間距

用戶可以通過設置echarts餅圖圖例的間距來調整圖例的位置,使得圖例更加美觀。

option = {
    tooltip: {
        trigger: 'item',
        formatter: "{b} : {c} ({d}%)"
    },
    legend: {
        orient: 'vertical',
        x: 'right',
        //圖例之間的距離
        itemGap: 20,
        data:['數據1','數據2','數據3']
    },
    series : [
        {
            name: '數據分佈',
            type: 'pie',
            radius : '55%',
            center: ['50%', '60%'],
            data:[
                {value:500, name:'數據1'},
                {value:300, name:'數據2'},
                {value:200, name:'數據3'}
            ],
            itemStyle: {
                emphasis: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            }
        }
    ]
};

七、echarts餅圖圖例設置

用戶可以通過設置echarts餅圖的圖例信息,例如位置、字體大小、字體顏色等,來控制圖例的外觀效果。

option = {
    tooltip: {
        trigger: 'item',
        formatter: "{b} : {c} ({d}%)"
    },
    legend: {
        orient: 'vertical',
        x: 'right',
        y: 'center',
        textStyle: {
            color: '#fff',
            fontSize: 14
        },
        data:['數據1','數據2','數據3']
    },
    series : [
        {
            name: '數據分佈',
            type: 'pie',
            radius : '55%',
            center: ['50%', '60%'],
            data:[
                {value:500, name:'數據1'},
                {value:300, name:'數據2'},
                {value:200, name:'數據3'}
            ],
            itemStyle: {
                emphasis: {
                    shadowBlur: 5,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            },
            label: {
                normal: {
                    textStyle: {
                        color: '#fff',
                        fontSize: 12
                    }
                }
            }
        }
    ]
};

八、echarts圖例加百分號

用戶可以通過自定義echarts圖例文字內容的方式在圖例上加上百分號,提高數據表現力。

option = {
    tooltip: {
        trigger: 'item',
        formatter: "{b} : {c} ({d}%)"
    },
    legend: {
        orient: 'vertical',
        x: 'right',
        data:['數據1','數據2','數據3'].map(function(item){
            return item + ' 100%';
        })
    },
    series : [
        {
            name: '數據分佈',
            type: 'pie',
            radius : '55%',
            center: ['50%', '60%'],
            data:[
                {value:500, name:'數據1'},
                {value:300, name:'數據2'},
                {value:200, name:'數據3'}
            ],
            itemStyle: {
                emphasis: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            }
        }
    ]
};

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/153931.html

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

相關推薦

  • Echarts 地圖 Label 增加背景圖

    本文將從多個方面對 Echarts 地圖 Label 增加背景圖進行詳細的闡述。 一、背景圖的作用 為 Echarts 地圖添加背景圖可以使 Label 更加直觀、美觀,提升視覺效…

    編程 2025-04-29
  • Python如何寫百分比

    在python中,我們可以使用各種方法來計算和表示百分比。在本文中,我們將會從字符串格式化、數學計算、列表推導式和函數等多個方面來詳細闡述Python如何計算和表示百分比。 一、字…

    編程 2025-04-27
  • Python怎麼把數變成百分比中心

    如果需要將數變成百分比顯示,Python是一個強大的語言可以幫助您高效地完成這個任務。Python提供了內置的格式化方法和標準庫來處理百分比的計算和輸出。那麼,下面將從以下幾個方面…

    編程 2025-04-27
  • ECharts地圖輪播

    本文將從插件基礎、數據準備及處理、地圖呈現、輪播控制等方面,對ECharts地圖輪播進行詳細闡述。 一、插件基礎 ECharts官方提供了一個名為「echarts-gl」的插件,它…

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

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

    編程 2025-04-25
  • 神經網絡代碼詳解

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

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

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

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

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

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

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

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

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

    編程 2025-04-25

發表回復

登錄後才能評論