背景: 产品提出需求在饼图中间放两行文字且居中 “简单,劈劈啪啪写完了” 产品再提出你这个没有自适应啊,屏幕放大、缩小你这个就没有居中了,甚至会和饼图重叠 “emmmmm…"

UI图如下:

方案一:使用tittle(不能自适应)

方案二:在series中配置label(适用图表居中的情况,我这个图表在左边不适用)

方案三:在series中再加一个type: ‘gauge’(能居中且支持自适应)

代码如下:(这里只提供了series的配置)

series: [{

name: '设备总数',

type: 'pie',

radius: ['35%', '60%'],

center: ['25%', '45%'], // 图形位置

label: {

show: false

},

selectedMode: false,

data: data

},

{

name: '中间文字',

z: 100,

type: 'gauge',

radius: '-50%',

center: ['25%', '45%'],// 需和type: 'pie'中的center一致

// 配置中间的数字的样式

detail: {

// 调节数字位置

offsetCenter: [-1,-10],

fontSize: fontSize(18),

fontFamily: fontFamily.fontFamily95W,

color: 'rgba(75, 186, 233, 1)',

},

pointer: {

show: false,

},

axisTick: {

show: false,

},

axisLine: {

show: false,

},

splitLine: {

show: false,

},

axisLabel: {

show: false,

},

// 中间的字和数字 数据

data: [

{

value: totalNum,

name:'家居总数',

title:{// 配置“家居总数”的样式

show:true,

fontSize: fontSize(12),

fontFamily: fontFamily.fontFamily65W,

color: 'rgba(50, 197, 255, .5)',

offsetCenter:[0,'-20%']

}

},

],

},

]

实现后的成果图如下:

相关文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: