eacharts 饼图 label formatter 自定义样式和数据拼接

35 篇文章 0 订阅
21 篇文章 0 订阅

series 中的label formatter 无法使用html 模板 ,当官方定义的

{a}:系列名。

{b}:数据名。

{c}:数据值。

{d}:百分比。

{@xxx}:数据中名为'xxx'的维度的值,如{@product}表示名为'product'` 的维度的值。

{@[n]}:数据中维度n的值,如{@[3]}` 表示维度 3 的值,从 0 开始计数。

这些属性无法满足我们对于数据展示的需求时候 需要这样做

 series:[
    {
      label:{
        normal:{
         formatter:function(e){
            let data=e.data;
                return  `{a|${data.parentName}}{abg|}\n{hr|}\n{b|${data.name}:}${data.value} \n{per|${data.proportion}%}`                                         
                        },    
        }       
      }
    }
 ]

其中 ${}里面的数据 可以展示我们从后台拿过来的任意数据  a,abg,b 这些是通过rich 富文本属性对其样式进行美化

  rich: {
                            a: {
                                color: '#black',
                                lineHeight: 22,
                                align: 'center'
                            },
                            abg: {
                                backgroundColor: '#74D0E5',
                                width: '100%',
                                align: 'right',
                                height: 22,
                                color:"#353535",
                                borderRadius: [4, 4, 0, 0]
                            },
                            hr: {
                                borderColor: '#aaa',
                                width: '100%',
                                borderWidth: 0.5,
                                height: 0
                            },
                            b: {
                                fontSize: 14,
                                lineHeight: 25,
                                color:"#fff"
                            },
                            per: {
                                color: '#fff',
                                backgroundColor: '#00C0FF',
                                padding: [3, 4,3,5],
                               
                                borderRadius: 2,
                                align:"left",
                                left:"3%"
                                
                                
                            }
                        }

最后就可以展示自己的数据了

如图所示,我想要嵌套图的外圈名字与内圈关联起来,这个方法就起到了作用

ECharts 饼图formatter 是用来格式化饼图中各个数据项的标签显示。通过设置 formatter,可以自定义饼图中每个数据项的标签内容。 具体使用方式如下: 1. 在配置项中找到 series -> data,其中 data 是一个数组,每个元素代表一个数据项。 2. 在每个数据项中,可以设置 name 和 value 属性,name 是该数据项的名称,value 是该数据项的值。 3. 在数据项中,还可以设置 label 属性,该属性用于配置标签的显示。 4. 在 label 属性中,设置 formatter 属性为一个函数,该函数接收一个参数,代表当前数据项的信息。 5. 在 formatter 函数内部,可以根据需要自定义标签的显示内容,可以使用字符串拼接、格式化函数等方式来实现。 以下是一个示例代码: ``` option = { series: [ { type: 'pie', data: [ {name: '数据项1', value: 100, label: {formatter: function(params) { return params.name + ': ' + params.value + '%'; }}}, {name: '数据项2', value: 200, label: {formatter: '{b}: {c}%'}} ] } ] }; ``` 在上述示例中,第一个数据项的标签使用了一个自定义formatter 函数,将名称和数值以特定格式显示;第二个数据项的标签使用了简单的字符串模板来显示。 需要注意的是,formatter 函数中的参数 params 包含了当前数据项的一些信息,如 name、value、percent 等,可以根据需要使用这些信息来自定义标签的显示内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值