Echarts餅圖中間文字詳解

一、餅圖中間文字重疊

當餅圖的扇區數量較多時,很容易出現中間文字重疊的情況。為了解決這個問題,可以調整中間文字的格式或位置。一種常見的方法是使用白色描邊,讓文字更加清晰可見。另外,也可以嘗試通過設置文字的字體、大小、行高等樣式屬性來調整文本的顯示。


option = {
    //設置中間文字樣式
    series: [{
        label: {
            normal: {
                formatter: '{b|{b}}{c|{c}}{per|{d}%} ',
                rich: {
                    b: {
                        fontSize: 14,
                        lineHeight: 22
                    },
                    c: {
                        fontSize: 14,
                        lineHeight: 22
                    },
                    per: {
                        fontSize: 14,
                        lineHeight: 22
                    }
                }
            }
        },
        //設置白色描邊
        itemStyle: {
            normal: {
                borderWidth: 2,
                borderColor: '#fff'
            }
        },
        data: {...}
    }]
};

二、餅圖間隙

在餅圖中,可能會需要為每個扇區之間增加間隙,以使餅圖更加清晰可見。這時,可以使用Echarts的“roseType”屬性,並設置“radius”屬性的值,使相鄰兩個扇區之間產生距離。


option = {
    series: [{
        type: 'pie',
        //設置roseType屬性
        roseType: 'radius',
        //設置radius屬性的值
        radius: ['30%', '80%'],
        data: {...}
    }]
};

三、餅圖中間文字位置設置

餅圖中間文字的位置可以通過設置文本框的位置來進行調整,可以設置文本框的x、y坐標,或者使用Echarts提供的“left”、“right”、“center”、“top”、“bottom”等屬性來設置文本框相對於容器的位置。


option = {
    series: [{
        type: 'pie',
        label: {
            //使用left、top屬性設置文本框相對於容器的位置
            left: '50%',
            top: '50%',
            formatter: '{b|{b}}\n{c|{c}} ({d|{d}%})',
            rich: {
                b: {
                    fontSize: 14,
                    lineHeight: 22
                },
                c: {
                    fontSize: 16,
                    lineHeight: 30
                },
                d: {
                    fontSize: 14,
                    lineHeight: 22
                }
            }
        },
        data: {...}
    }]
};

四、餅圖下面顯示文字

有時候需要在餅圖下方添加一些說明性文字或圖例,可以使用Echarts的“legend”屬性來設置。同時,可以通過設置“grid”屬性來控制餅圖和文本的位置關係。


option = {
    legend: {
        //設置圖例的位置
        bottom: 10,
        data: {...}
    },
    grid: {
        //設置圖表的位置和大小
        left: '30%',
        top: 0,
        width: '70%',
        height: '70%'
    },
    series: [{
        type: 'pie',
        radius: '55%',
        center: ['40%', '50%'],
        data: {...}
    }]
};

五、餅圖中間文字換行

當餅圖中間的文字較多時,可能會出現文字溢出或者文字重疊的情況。這時,可以嘗試使用Echarts的“rich”屬性,來設置多行文字,同時可以通過設置“lineHeight”屬性來控制行高,實現文字換行的效果。


option = {
    series: [{
        type: 'pie',
        label: {
            normal: {
                //使用rich屬性實現多行文字
                formatter: [
                    '{a|{a}}',
                    '{b|{b}}',
                    '{c|{c}}',
                    '{per|{d}%}'
                ].join('\n'),
                rich: {
                    a: {
                        color: '#999',
                        fontSize: 12,
                        lineHeight: 18
                    },
                    b: {
                        fontSize: 14,
                        lineHeight: 22
                    },
                    c: {
                        fontSize: 14,
                        lineHeight: 22
                    },
                    per: {
                        fontSize: 16,
                        lineHeight: 24
                    }
                }
            }
        },
        data: {...}
    }]
};

六、餅圖中間文字不居中

當餅圖中間的文字不居中時,可能是因為文本框的大小不被正確設置所致。可以通過設置文本框的寬度和高度來解決這個問題。


option = {
    series: [{
        type: 'pie',
        label: {
            normal: {
                formatter: '{b}\n{c} ({d}%)',
                textStyle: {
                    fontSize: 14,
                    fontWeight: 'bold'
                },
                //設置文本框的大小
                width: 130,
                height: 90
            }
        },
        data: {...}
    }]
};

七、餅狀圖中間放入文字

餅狀圖中有時需要在中間放入一些說明性的文字,這時可以通過設置“graphic”的方式,在餅狀圖的中心添加文字。同時,可以通過設置“z”屬性來調整文字的層級關係,保證文字不被餅狀圖覆蓋。


option = {
    series: [{
        type: 'pie',
        radius: ['50%', '70%'],
        label: {
            //設置餅圖中間文字為空
            normal: {
                show: false
            }
        },
        data: {...},
        //使用graphic添加文字
        graphic: {
            type: 'text',
            left: 'center',
            top: 'center',
            z: 2,
            style: {
                fill: '#333',
                text: '餅狀圖中間文字',
                font: '16px Microsoft YaHei'
            }
        }
    }]
};

八、餅狀圖文字超出屏幕

當餅狀圖文字超出屏幕時,可以通過設置“tooltip”屬性來實現懸浮提示的功能,顯示完整的文字內容。


option = {
    tooltip: {
        formatter: '{b}:{c} ({d}%)'
    },
    series: [{
        type: 'pie',
        radius: ['50%', '70%'],
        label: {
            normal: {
                formatter: '{b|{b}}\n{c|{c}} ({d|{d}%})',
                rich: {
                    b: {
                        fontSize: 14,
                        lineHeight: 22
                    },
                    c: {
                        fontSize: 14,
                        lineHeight: 22
                    },
                    d: {
                        fontSize: 14,
                        lineHeight: 22
                    }
                }
            }
        },
        data: {...},
    }]
};

九、餅圖文字重疊

當扇區數量較多時,餅圖中間的文字容易出現重疊的情況。這時,可以通過設置“position”屬性來調整文本的位置,或者使用“labelLine”屬性來連接文本框和扇區,讓文本框不會出現重疊。


option = {
    series: [{
        type: 'pie',
        radius: ['50%', '70%'],
        label: {
            normal: {
                //調整文本位置
                position: 'outside',
                formatter: '{b|{b}}\n{c|{c}} ({d|{d}%})',
                rich: {
                    b: {
                        fontSize: 14,
                        lineHeight: 22
                    },
                    c: {
                        fontSize: 14,
                        lineHeight: 22
                    },
                    d: {
                        fontSize: 14,
                        lineHeight: 22
                    }
                }
            }
        },
        //使用labelLine連接文本框和扇區
        labelLine: {
            normal: {
                show: true
            }
        },
        data: {...}
    }]
};

原創文章,作者:RNRW,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/149080.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
RNRW的頭像RNRW
上一篇 2024-11-04 17:52
下一篇 2024-11-04 17:52

相關推薦

  • Python飛機大戰中文字資源分析

    Python飛機大戰是一款經典的飛行射擊遊戲,在遊戲過程中,玩家需要控制一架飛機不斷消滅敵人,生存到最後。該遊戲使用Python語言編寫,其中涉及到的文字資源對遊戲的整體體驗有重要…

    編程 2025-04-29
  • Echarts 地圖 Label 增加背景圖

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

    編程 2025-04-29
  • Python如何打出精美文字

    Python作為一種高級編程語言,擁有廣泛的應用領域。其中最常見的一項應用就是文字處理。Python可以幫助我們打出各種類型的文字,從簡單的文本到複雜的圖形和音頻文件都不在話下。 …

    編程 2025-04-28
  • Python定位文字的實現方法

    本文將從多個方面對Python定位文字進行詳細的闡述,包括字符串匹配、正則表達式和第三方庫等方面。 一、字符串匹配 字符串匹配是最基礎的Python定位文字方法,適用於簡單的字符串…

    編程 2025-04-28
  • 使用Python繪圖時如何添加文字

    在Python中繪圖是一種十分重要的數據可視化方式,而其中添加文字則是讓圖像更加生動、信息更加詳細的重要手段。本篇文章可以幫助您學習如何在繪圖中添加文字。在代碼中,我們將使用mat…

    編程 2025-04-28
  • 箱形圖中間的橫線可以是平均數嗎?

    箱形圖(box plot)是一種用來展示一組數據分散程度及其異常值情況的圖表形式。它由五個數值指標構成:最小值、第一四分位數(Q1)、中位數、第三四分位數(Q3)和最大值,通常還有…

    編程 2025-04-28
  • 自動換行後不能全部顯示文字的解決方法

    在網頁設計中,自動換行是非常必要的。但是有時候會出現自動換行後不能全部顯示文字的情況。下面將從多個方面闡述這個問題的解決方法。 一、字號和行高 字號和行高是影響內容顯示的兩個重要因…

    編程 2025-04-27
  • 使用詞雲圖生成器網站,讓文字更美麗

    詞雲圖是一種非常實用的工具,通過它可以直觀地展示出文字內容的重點。而作為一個全能編程開發工程師,你一定需要掌握一些生成詞雲圖的技巧。這篇文章將從多個方面詳細闡述使用詞雲圖生成器網站…

    編程 2025-04-27
  • 騰訊會議語音轉文字導出教程

    本文將從多個方面對騰訊會議語音轉文字導出進行詳細闡述,包括使用方法、技巧、注意事項等。 一、使用方法 1、進入騰訊會議,選擇需要導出語音的會議記錄,在會議記錄處點擊“導出”。 im…

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

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

    編程 2025-04-27

發表回復

登錄後才能評論