Echarts之formatter格式化方法以及字符串模板

前言:formatter格式化方法。格式化之所以存在,主要是因為我們想把一些不夠人性化的內(nèi)容通過處理讓其變成我們想要的樣子,便于用戶更好地理解內(nèi)容。

首先ECharts官網(wǎng)API提供了一些formatter格式化參數(shù)模板:

  1. 字符串模板
    模板變量有 {a}, ,{c},u0z1t8os,{e},分別表示系列名,數(shù)據(jù)名,數(shù)據(jù)值等。 在 trigger 為'axis' 的時候,會有多個系列的數(shù)據(jù),此時可以通過{a0}, {a1}, {a2} 這種后面加索引的方式表示系列的索引。 不同圖表類型下的{a},,{c},u0z1t8os含義不一樣。 其中變量{a}, , {c}, u0z1t8os在不同圖表類型下代表數(shù)據(jù)含義為:
折線(區(qū)域)圖、柱狀(條形)圖、K線圖: {a}(系列名稱),(類目值),{c}(數(shù)值), u0z1t8os(無)

散點圖(氣泡)圖 : {a}(系列名稱),(數(shù)據(jù)名稱),{c}(數(shù)值數(shù)組), u0z1t8os(無)

地圖 : {a}(系列名稱),(區(qū)域名稱),{c}(合并數(shù)值), u0z1t8os(無)

餅圖、儀表盤、漏斗圖: {a}(系列名稱),(數(shù)據(jù)項名稱),{c}(數(shù)值), u0z1t8os(百分比)
  1. 回調(diào)函數(shù)
    回調(diào)函數(shù)格式:(params: Object|Array, ticket: string, callback: (ticket: string, html: string)) => string

ECharts圖表組件內(nèi)的格式化常用的地方:

  1. tooltip
    圖表內(nèi)數(shù)據(jù)點的懸浮框提示框信息展現(xiàn)的時候我們可以加以數(shù)據(jù)格式化,以便于更好地觀察數(shù)據(jù)和分析數(shù)據(jù)。
    比如:在數(shù)值后加一個單位字符串
tooltip: {
            trigger:'item',
            padding:[20,10,20,10],
            formatter:'{a} </br>:{c}%'
        },
  1. axisLabel
    坐標軸刻度上面的刻度格式化,比如Y表示長度,我們往往需要在每一個刻度值后面帶上“m”的單位,Y軸意義不同,加不同的單位。
    格式化Y軸刻度的示例代碼如下:
 yAxis: [
            {
                type: 'value',
                axisLabel: {
                    show:true,
                    formatter:'{value} m'
                },
                boundaryGap: ['0','20%']
            }
        ],
  1. series內(nèi)的label
 series: [
            {
                name:'常駐城市人數(shù)比例',
                type:'bar',
                barWidth:'45',
               data:[10,15,20,25,30],
//                data:citiesRate,
                itemStyle: {
                    normal: {
                        color:new echarts.graphic.LinearGradient(
                            0,0,0,1,
                            [
                                {offset:0,color:'#7EDBFD'},
                                {offset:1,color:'#3169c7'}
                            ]
                        ),
                        label: {
                            show:true,
                            position:'top',
                            formatter:'{c}%'
                        }
                    },
                    emphasis: {
                        barBorderWidth:1,
                        shadowBlur:10,
                        shadowOffsetX:0,
                        shadowOffsetY:0,
                        shadowColor:'rgba(0,0,0,0.7)'
                    }
                }
            }
        ]

注意點:formatter格式化不但可以用echarts提供的模板,還可使用function。例如:

label:{
   normal:{
      formatter:function(v){
         vartext=v.name;
         returntext.length>10?text.substr(0,10)+"...":text;
      }
   }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容