echarts(十)高级篇(富文本标签)

高级篇

同志们,装逼时刻到!!!

富文本标签

  • 效果:
    在这里插入图片描述
实现步骤
  • 用formatter 写文本片段
    • formatter:
      • ‘{a|文字内容}\n'+
      • '{b|文字内容}\n'+
      • '默认样式{x|样式 x}’
  • 用rich 设置文本样式
const myChart = echarts.init(document.getElementById('main'));
// 数据
const data=[
    {name:'杨戬',value:80,img:'./images/yj.jpg'},
    {name:'鲁班大师',value:60,img:'./images/lb.jpg'},
    {name:'沈梦溪',value:40,img:'./images/smx.jpg'},
    {name:'诸葛亮',value:30,img:'./images/zgl.jpg'}
];
data.forEach(item=>{
    /*自定义标签 label
*   formatter 文本片段
*       '{样式名|文字内容}\n 换行'
*   文本块的样式
*       textBorderColor 文本描边颜色
*       textBorderWidth 文本描边宽度
*       ...
*   rich 富文本,在其中写入样式
*       width 宽
*       height 高
*       backgroundColor 背景色
*           image 背景图
*       fontSize 文字大小
*       lineHeight 行高
*       fontWeight 文本加粗
*       ...
* */
    item.label={
        formatter:'{img|}\n{name|'+item.name+'}',
        textBorderColor:'yellow',
        textBorderWidth:3,
        rich:{
            img:{
                width:60,
                height:60,
                backgroundColor:{
                    image:item.img
                }
            },
            name:{
                lineHeight:30,
                fontSize:18
            }
        }
    }
})

/*配置项*/
const option = {
    title:{text:'英雄战力'},
    series: {
        type: 'pie',
        data,
        radius:'70%',
    }
};
myChart.setOption(option);

在这里插入图片描述

如果您在 ECharts 饼图中使用了富文本标签,并且发现部分标签超出了饼图的区域被遮挡了,可以尝试使用 ECharts 提供的 `rich` 配置项来调整标签的样式和布局,使其适应饼图的大小。 具体来说,您可以在 `series.label` 中设置 `formatter` 属性为一个函数,用于格式化标签文本并使用 `rich` 配置项来定义富文本标签的样式。例如: ```javascript option = { series: [{ type: 'pie', label: { formatter: function(params) { return '{a|' + params.name + '}\n{b|' + params.value + '}'; }, rich: { a: { color: '#333', fontSize: 14, lineHeight: 20 }, b: { color: '#999', fontSize: 12, lineHeight: 16 } } }, // ... 其他配置项 }] }; ``` 在上面的示例中,我们使用 `{a|...}` 和 `{b|...}` 的方式来定义富文本标签的样式,其中 `a` 和 `b` 是自定义的样式名称,可以在 `rich` 配置项中定义它们的样式。通过设置 `lineHeight` 属性,可以控制文本行之间的距离,以适应饼图的大小。 如果您需要更复杂的富文本布局,可以在 `rich` 配置项中定义多个样式名称,并在 `formatter` 函数中使用它们来构建富文本布局。例如,您可以使用 `rich` 配置项中的 `title`、`value` 和 `percent` 样式,在标签中显示标题、数值和百分比信息: ```javascript option = { series: [{ type: 'pie', label: { formatter: function(params) { return '{title|' + params.name + '}\n{value|' + params.value + '}\n{percent|' + params.percent + '%}'; }, rich: { title: { color: '#333', fontSize: 14, lineHeight: 20, fontWeight: 'bold' }, value: { color: '#999', fontSize: 12, lineHeight: 16 }, percent: { color: '#999', fontSize: 12, lineHeight: 16 } } }, // ... 其他配置项 }] }; ``` 在上面的示例中,我们使用 `{title|...}`、`{value|...}` 和 `{percent|...}` 的方式来定义不同样式名称,并在 `rich` 配置项中分别定义它们的样式。在 `formatter` 函数中,我们使用这些样式名称来构建富文本布局,并在标签中显示标题、数值和百分比信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值