AntV 折线图

AntV 折线图

Step 1

npm install @antv/g2

Step 2
创建折线图容器

<div id='lineChart' />

Step 3
渲染效果
在这里插入图片描述
在这里插入图片描述
源码:

 const data: any = [
  {date: "01/01/2021", num: 12},
  {date: "01/10/2021", num: 3},
  {date: "01/20/2021", num: 4},
  {date: "01/28/2021", num: 5},
  {date: "02/01/2021", num: 5},
  {date: "02/10/2021", num: 5},
  {date: "02/15/2021", num: 1},
  {date: "02/18/2021", num: 1},
  {date: "02/20/2021", num: 5},
  {date: "02/21/2021", num: 1},
  {date: "02/22/2021", num: 14},
  {date: "02/23/2021", num: 12},
  {date: "02/24/2021", num: 13},
  {date: "03/01/2021", num: 3},
  {date: "03/10/2021", num: 1},
  {date: "03/15/2021", num: 3},
 ]
  useEffect(() => {
    // 创建 Chart 对象
    const chart = new Chart({
      container: 'lineChart', // 指定图表容器 ID
      autoFit: true, // 自适应宽度
      height: 300, // 指定图表高度
    });

    chart.data(data); // 载入数据源
    chart.scale({ // 度量
      date: {
        range: [0, 1], // 输出域、值域,表示在绘图范围内可用于绘制的范围。
        tickMethod: 'log', // 计算数字的 ticks 方法,按照 log 的函数来计算,生成 [0, 10, 100, 1000] 类似的 ticks
      },
      num: {
        min: 0,
        nice: true, // 自动调整 min、max 
      },
    });

    chart.tooltip({ // 配置提示信息
      showCrosshairs: true, // 是否显示 tooltips 辅助线
      shared: true, // true 表示合并当前点对应的所有数据并展示,false 表示只展示离当前点最逼近的数据内容
      showTitle: false, // 是否显示标题
      marker: {
         stroke: '#FFF', // 描边色、渐变或纹理,默认值为空
        fill: '#00A850', // 填充色、渐变或纹理,默认值为空
      },
      itemTpl:  // 自定义提示信息模板
        '<li class="g2-tooltip-list-item" style="font-weight: 500"><span style="color:#00A850; font-size: 16px">{value}</span><span style="color:#000; font-size: 14px; padding-left: 8px"> {title}</span></li>',
    });

    chart
      .line()
      .position('date*num')
      .style('num', (val) => { // 图表样式
        console.log(val, 'line');
        return {
          stroke: '#00A850',
        };
      });

    chart.render();
  }, []);

  return <div id="lineChart" />;

猜你喜欢

转载自blog.csdn.net/weixin_47115677/article/details/113942234