m0_60877809 2022-11-15 17:57 采纳率: 72.7%
浏览 0

关于ANTV G2 中的图例问题

在antv g2 中的图例 二个问题 一 要怎么增加图例的 垂直间距啊 百度没百度到 文档好像也没有说 只有一个水平间距 二 还有图例右边会自动省略不知道怎么弄 宽度是够的

img


import { Chart, registerShape } from '@antv/g2'

export default {
  // 宽 高  图例显示  标题 标题数字 单位
  props: ['width', 'height', 'legendShow', 'title', 'titleNum', 'titleCompany'],
  data () {
    return {}
  },
  mounted () {
    console.log('---------------yuan ayuna ')
    this.init()
  },
  methods: {
    init () {
      const data = [
        { type: '具有控制力100%', value: 501.9 },
        { type: '具有控制力>=55%', value: 301.9 },
 
        { type: '具有控制力33.33%~50%', value: 128.3 },
        { type: '具有控制力<33.33%', value: 201.1 },

  
      ]

      // 可以通过调整这个数值控制分割空白处的间距,0-1 之间的数值
      const sliceNumber = 0.003

      // 自定义 other 的图形,增加两条线
      registerShape('interval', 'slice-shape', {
        draw (cfg, container) {
          const points = cfg.points
          let path = []
          path.push(['M', points[0].x, points[0].y])
          path.push(['L', points[1].x, points[1].y - sliceNumber])
          path.push(['L', points[2].x, points[2].y - sliceNumber])
          path.push(['L', points[3].x, points[3].y])
          path.push('Z')
          path = this.parsePath(path)
          return container.addShape('path', {
            attrs: {
              fill: cfg.color,
              path
            }
          })
        }
      })

      const chart = new Chart({
        container: 'container',
        // autoFit: true,
        height: this.height,
        width: this.width,
        padding: [0, 20, 0, -300]
      })

      // chart.forceFit()
      chart.data(data)
      chart.coordinate('theta', {
        radius: 1,
        innerRadius: 0.8
      })
      chart.tooltip({
        showTitle: false,
        showMarkers: false
      })

      // 辅助文本
      const html = `<div style="color:#a3a3a3;font-size: 14px;text-align: center;width: 10em;">${this.title}
<span style="color:#2b2a29;font-size:20px">${this.titleNum}<span style="color:#2b2a29;">${this.titleCompany}
` const titleHtml = `<div style="color:#333333;font-size: 20px;text-align: center;width: 10em;">${this.titleNum}<span style="font-size:14px;color:#2b2a29;">${this.titleCompany}
` chart.annotation().html({ position: ['50%', '50%'], html: this.title ? html : titleHtml, alignX: 'middle', alignY: 'middle' }) chart.legend({ position: 'right', offsetX: -150, offsetY: 0, itemSpacing: 100, itemName: { formatter (text, item, index) { // console.log('item',item); const val = (data[index].value / 10).toFixed(1) + '%' return `${text} | ${val}` }, style: { // fill: 'red', } } }) chart.interval().adjust('stack').position('value').color('type').shape('slice-shape') chart.theme({ styleSheet: { brandColor: '#F87B7B', paletteQualitative10: ['#F87B7B', '#FFA573', '#FFD069', '#C8E081', '#8DE0F3', '#9AC3FF', '#CFB1FE'] } }) chart.render() } } } </script> <style lang="less" scoped></style>
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-11-15 21:31
    关注
    评论

报告相同问题?

问题事件

  • 创建了问题 11月15日

悬赏问题

  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价