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

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

<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>
        `,
        // 完全自定义提示框
        // customContent: (title, items) => {
        //   return `<div>${title}</div>`
        // },
        // 允许鼠标滑入,这个开启是为了方便获取 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>
相关文章
|
前端开发 JavaScript
点击按钮,将奇数列的li背景色设置为红色,偶数列li背景色设置为绿色
点击按钮,将奇数列的li背景色设置为红色,偶数列li背景色设置为绿色
|
JavaScript 前端开发
【曹操】echarts图例legend选中状态动态设置
曹操项目语音质量分析功能前端页面展示,需要对所有指标的图例默认选中状态只显示前两个,其他指标的图例状态默认为灰色。
4628 0
|
2月前
|
开发工具
如何设置单元格的填充颜色?
【10月更文挑战第22天】如何设置单元格的填充颜色?
63 2
|
3月前
|
JavaScript API
Echarts中单独为每个legend图例设置样式-根据数据正负显示不同样式
通过上述方法,我们便能够在ECharts中根据数据的正负为每个图例项设置不同的样式,增强了图表的可读性和表现力。这种方法虽然略显间接,但不失为一种灵活的解决方案。
299 2
|
8月前
|
数据可视化 前端开发 定位技术
echarts 关于折线统计图常用的属性设置--超详细(附加源码)
echarts 关于折线统计图常用的属性设置--超详细(附加源码)
164 0
G2Plot Line 线性 x 轴头尾两头不留空白(或指定留白范围)
G2Plot Line 线性 x 轴头尾两头不留空白(或指定留白范围)
126 0
echarts圆环图设置legend数据对齐百分比样式使用rich富文本标签和formatter函数
echarts圆环图设置legend数据对齐百分比样式使用rich富文本标签和formatter函数
816 0
Echarts legend图例配置项 设置位置 显示隐藏
Echarts legend图例配置项 设置位置 显示隐藏
span标签溢出元素设置省略号
span标签溢出元素设置省略号
197 0

热门文章

最新文章