其他分享
首页 > 其他分享> > G2Plot Tooltip 自定义头部、尾部、辅助线

G2Plot Tooltip 自定义头部、尾部、辅助线

作者:互联网

image.png

<template>
  <!-- 图表 -->
  <div id="Line1"></div>
</template>

<script>
// 导入
import { Line } from '@antv/g2plot'
export default {
  mounted () {
    // 数据源
    const dataSource = [
      {
        title: '1998年5月',
        team: '三水集团',
        time: '1998',
        num: 500
      },
      {
        title: '1999年5月',
        team: '三水集团',
        time: '1999',
        num: 400
      },
      {
        title: '2021年5月',
        team: '三水集团',
        time: '2021',
        num: 1000
      },
      {
        title: '1998年6月',
        team: '笑笑集团啊',
        time: '1998',
        num: 1000
      },
      {
        title: '1999年6月',
        team: '笑笑集团啊',
        time: '1999',
        num: 100
      },
      {
        title: '2021年6月',
        team: '笑笑集团啊',
        time: '2021',
        num: 500
      }
    ]
    // 创建
    const line = new Line('Line1', {
      // 数据源
      data: dataSource,
      // x轴对应key,横向线
      xField: 'time',
      // y轴对应key,竖向线
      yField: 'num',
      // 分组对应 key,多组数据
      seriesField: 'team',
      // 线条是否为弧度
      smooth: true,
      // x轴配置
      xAxis: {},
      // 提示
      tooltip: {
        // 标题,设置的值,如果为字段key,则会从数据源中取值显示,如果数据源没有该key,则直接显示
        title: 'title',
        // 自定义,class 必须跟官方的样式一致
        containerTpl: `
          <div class="g2-tooltip">
            <!-- 标题容器,会自己填充 -->
            <div class="g2-tooltip-title"></div>
            <!-- 自定义头部,可以随便写 -->
            <div class="g2-tooltip-title">自定义头部</div>
            <!-- 列表容器,会自己填充 -->
            <ul class="g2-tooltip-list"></ul>
            <!-- 自定义尾部,可以随便写,这里是复用列表容器中的一行 item -->
            <li class="g2-tooltip-list-item">
              <span class="g2-tooltip-marker"></span>
              <span class="g2-tooltip-name">自定义尾部</span>:
              <span class="g2-tooltip-value">100000</span>
            </li>
          </div>
        `,
        // 自定义列表 item 模板,class 必须跟官方的样式一致
        itemTpl: `
          <li class="g2-tooltip-list-item">
            <span class="g2-tooltip-marker" style="background-color: {color};"></span>
            <span class="g2-tooltip-name">{name}</span>:
            <span class="g2-tooltip-value">{value}</span>
          </li>
        `,
        // 允许鼠标滑入,这个开启是为了方便获取 tooltip 的 class,无需要可以关闭。
        enterable: true,
        // 是否显示 hover 辅助线
        showCrosshairs: true,
        // 辅助线配置
        crosshairs: {
          // x 表示 x 轴上的辅助线,y 表示 y 轴上的辅助线,xy 表示两条辅助线
          type: 'x',
          // 辅助线是否跟随鼠标移动
          follow: false,
          // 辅助线配置
          line: {
            // 样式配置
            style: {
              // 线宽
              lineWidth: 10
            }
          }
        }
      },
      // 图例列表
      legend: {
        // y轴偏移
        offsetY: 15,
        // 摆放位置
        position: 'bottom',
        // 图例高度
        itemHeight: 28,
        // 配置图例
        marker: {
          // 图例样式
          style: (style) => {
            // 重组样式
            return {
              // 半径
              r: 6,
              // 样式类型
              symbol: 'square',
              // 填充
              fill: style.fill || style.stroke,
              // 边框线宽
              lineWidth: 1,
              // 边框填充颜色
              stroke: style.fill || style.stroke,
              // 边框透明度
              strokeOpacity: 1,
              // 线圆角
              lineCap: 'round',
              lineJoin: 'round'
            }
          }
        }
      },
      // 主题配置
      theme: {
        // 分类个数小于 10 时使用
        colors10: ['#A685FF', '#FBD86D']
        // 分类个数大于 10 时使用
        // colors20: ['#A685FF', '#FBD86D']
      },
      // 动画配置
      // https://g2plot.antv.vision/zh/docs/api/options/animation
      animation: {
        // 配置图表第一次加载时的入场动画
        appear: {
          // 动画效果
          animation: 'wave-in',
          // 动画执行时间
          duration: 2000
        }
      }
    })
    // 绘制
    line.render()
    // 更新配置
    // line.update({ xField: 'num' })
    // 更新数据
    // line.changeData(dataSource)
    // 销毁
    // line.destroy()
  }
}
</script>

标签:G2Plot,style,自定义,title,time,辅助线,num,Tooltip,team
来源: https://blog.csdn.net/zz00008888/article/details/122299906