
像上图中这样圆环图并不在div的中间时,中心的文本需要居中展示 一开始用left百分比但数据一旦变长或变短就会偏移 像这样

实在是太不美观了 所以我们这里使用动态的left通过文本的长度来计算
/**
 * 计算文本宽度
 * @param {String|Number} text
 * @param {String} font
 * @returns {Number} width
 * @example getTextWidth("你好", '24px Arial')
 */
export const getTextWidth = (text, font) => {
  var canvas = document.createElement('canvas')
  var context = canvas.getContext('2d')
  context.font = font
  var metrics = context.measureText(text)
  return metrics.width
}
 
上面代码可以计算出文本的宽度 然后圆环图距离左边的位置一般是固定的 我这里得出圆环图中心点距离容器左边框是114px 如图所示

所以最终我们可以通过计算得出
left: 114 - getTextWidth(9999, '24px Arial') / 2, 
999就是你要渲染的值哈 这样就居中拉




















