Echarts餅圖中間顯示數值完整教程

Echarts是一個基於JavaScript的開源可視化庫,用於構建互動式的圖表和可視化數據展示界面。其中,餅圖是比較常見的一種圖表,它能夠直觀地展示出各項數據在總量中所佔的比例。而在餅圖中間顯示數值可以進一步提升圖表的可讀性和可視化呈現效果,下面將詳細介紹如何實現這一功能。

一、選取合適的餅圖類型

Echarts提供了多種不同類型的餅圖,包括普通餅圖,環形餅圖,南丁格爾玫瑰圖等。在進行中心數值顯示時,需要選擇一種適合的餅圖類型。下面以普通餅圖為例,具體步驟如下:

// 初始化echarts實例
var myChart = echarts.init(document.getElementById('main'));

// 配置項
var option = {
    title: {
        text: '某站點訪問量統計',
        subtext: '純屬虛構',
        x: 'center'
    },
    tooltip: {
        trigger: 'item',
        formatter: "{a} 
{b}: {c} ({d}%)" }, legend: { orient: 'vertical', left: 'left', data: ['直接訪問', '郵件營銷', '聯盟廣告', '視頻廣告', '搜索引擎'] }, series: [ { name: '訪問來源', type: 'pie', radius: '55%', center: ['50%', '60%'], data: [ {value: 335, name: '直接訪問'}, {value: 310, name: '郵件營銷'}, {value: 234, name: '聯盟廣告'}, {value: 135, name: '視頻廣告'}, {value: 1548, name: '搜索引擎'} ], itemStyle: { emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } } ] }; // 使用剛指定的配置項和數據顯示圖表 myChart.setOption(option);

二、在餅圖中間顯示數值

為了在餅圖中間顯示數值,需要在series中添加以下代碼:

label: {
    normal: {
        show: true,
        position: 'center',
        formatter: '{b}\n{c}'
    }
}

其中,label是為每個扇形區域添加文本標籤的配置項,normal表示普通的文本樣式,show則代表是否顯示文本。position表示文本的位置,對於餅圖中間顯示數值,需要將其設置為’center’。最後,formatter是文本格式化函數,其中{b}代表數據項名稱(即圖例名稱),{c}代表數據值。同時,在餅圖中心需要添加一個圓形背景,代碼如下:

graphic: [{
    type: 'circle',
    left: 'center',
    top: 'middle',
    shape: {
        cx: 0,
        cy: 0,
        r: 50
    },
    style: {
        stroke: '#ccc',
        fill: '#fff'
    }
}]

其中,graphic是echarts中的圖形組件,用於添加各種繪圖元素。這裡添加了一個圓形背景,left和top分別指定位置居中,shape則指定圓形的屬性,包括圓心坐標和半徑大小。style則指定圓形邊框和背景色。

三、調整餅圖樣式

除了添加餅圖中間的數值顯示外,還可以針對餅圖的樣式進行自定義調整,包括顏色、大小、字體、標籤等。下面以調整餅圖顏色為例,具體代碼如下:

series: [
    {
        name: '訪問來源',
        type: 'pie',
        radius: '55%',
        center: ['50%', '60%'],
        data: [
            {value: 335, name: '直接訪問'},
            {value: 310, name: '郵件營銷'},
            {value: 234, name: '聯盟廣告'},
            {value: 135, name: '視頻廣告'},
            {value: 1548, name: '搜索引擎'}
        ],
        itemStyle: {
            normal: {
                color: function (params) {
                    var colorList = [
                        '#C1232B','#B5C334','#FCCE10','#E87C25','#27727B',
                        '#FE8463','#9BCA63','#FAD860','#F3A43B','#60C0DD',
                        '#D7504B','#C6E579','#F4E001','#F0805A','#26C0C0'
                    ];
                    return colorList[params.dataIndex]
                },
                label: {
                    show: true,
                    position: 'center',
                    formatter: '{b}\n{c}'
                }
            },
            emphasis: {
                shadowBlur: 10,
                shadowOffsetX: 0,
                shadowColor: 'rgba(0, 0, 0, 0.5)'
            }
        }
    }
]

這裡使用了itemStyle來自定義每個扇形區域的樣式,其中normal表示普通狀態下的樣式,color則是扇形的顏色,這裡使用了一個colorList數組來指定多種顏色,每個數值對應一種顏色。同時,label和formatter等屬性與前面相同。

四、總結

通過上述步驟,我們能夠輕鬆地在餅圖中間顯示數值。同時,依據不同的實際需求,我們還可以通過調整標籤樣式、餅圖顏色等方式來自定義圖表樣式,從而更好地展示數據。

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

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

相關推薦

  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Python3.6.5下載安裝教程

    Python是一種面向對象、解釋型計算機程序語言。它是一門動態語言,因為它不會對程序員提前聲明變數類型,而是在變數第一次賦值時自動識別該變數的類型。 Python3.6.5是Pyt…

    編程 2025-04-29
  • 打造照片漫畫生成器的完整指南

    本文將分享如何使用Python編寫一個簡單的照片漫畫生成器,本文所提到的所有代碼和技術都適用於初學者。 一、環境準備 在開始編寫代碼之前,我們需要準備一些必要的環境。 首先,需要安…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬碟。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件並生成完整的圖像

    OBJ格式是一種用於表示3D對象的標準格式,通常由一組頂點、面和紋理映射坐標組成。在本文中,我們將討論如何將多個OBJ文件拼接在一起,生成一個完整的3D模型。 一、讀取OBJ文件 …

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python中文版下載官網的完整指南

    Python是一種廣泛使用的編程語言,具有簡潔、易讀易寫等特點。Python中文版下載官網是Python學習和使用過程中的重要資源,本文將從多個方面對Python中文版下載官網進行…

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

    編程 2025-04-29
  • 猿編程python免費全套教程400集

    想要學習Python編程嗎?猿編程python免費全套教程400集是一個不錯的選擇!下面我們來詳細了解一下這個教程。 一、課程內容 猿編程python免費全套教程400集包含了從P…

    編程 2025-04-29
  • 伺服器安裝Python的完整指南

    本文將為您提供伺服器安裝Python的完整指南。無論您是一位新手還是經驗豐富的開發者,您都可以通過本文輕鬆地完成Python的安裝過程。以下是本文的具體內容: 一、下載Python…

    編程 2025-04-29

發表回復

登錄後才能評論