使用G2创建单折线图/How To Use G2 To Make Line Chart

Words
698
Reading
4 min
Listen
Play
9y

我已经完成了20多个关于echarts的教程。今天开始和大家分享一个新的开源项目的教程。
I've completed more than 20 tutorials about echarts. Today I started to share a tutorial on a new open source project.

Summary:

G2 is a set of graphically-based graphical syntax that is data-driven and highly user-friendly and extensible, allowing users to build a wide variety of interactive statistics without having to worry about detailed implementation details chart.
G2 是一套基于可视化编码的图形语法,以数据驱动,具有高度的易用性和扩展性,用户无需关注各种繁琐的实现细节,一条语句即可构建出各种各样的可交互的统计图表。

您将从这个教程中学到什么

  • 如何引入js文件
  • 如何定义容器
  • 如何定义数据
  • 如何引用数据
  • 如何定义提示框
  • 如何渲染图表

学习此教程的必备条件

教程难度

  • 容易

教程内容

演示效果
demo.gif

1. 知识点A - 如何引入js文件

<script src="./js/g2.min.js"></script>
<script src="./js/data-set.min.js"></script>

使用内嵌对js文件进行引入,用于后期图表使用。


2. 知识点B - 如何定义容器

<div id="zhexiantu"></div>

使用

定义容器,用于展示图表。容器名:zhexiantu。


3. 知识点C - 如何定义数据

  const data = [
    { year: '2001', yearValue: 3 },
    { year: '2002', yearValue: 4 },
    { year: '2003', yearValue: 3.5 },
    { year: '2004', yearValue: 5 },
    { year: '2005', yearValue: 4.9 },
    { year: '2006', yearValue: 6 },
    { year: '2007', yearValue: 7 },
    { year: '2008', yearValue: 9 },
    { year: '2009', yearValue: 13 }
  ];
  • data:使用数组形式定义数据。
  • 格式:{名称:'对应值',名称:对应值}

4. 知识点D - 如何引用数据

  const chart = new G2.Chart({
    container: 'zhexiantu',
    forceFit: true,
    height: window.innerHeight
  });
  chart.source(data);
  chart.scale('yearValue', {
    min: 0
  });
  chart.scale('year', {
    range: [ 0 , 1 ]
  });
  • container:定于数据从zhexiantu数组取值。
  • forceFit: 定义图表的宽度自适应开关,默认为 false,设置为 true 时表示自动取 dom(实例容器)的宽度。
  • height: 定义图表高度。
  • source:定义为chart装载数据,返回chart对象。
  • scale:定义为指定的数据字段进行列定义,返回 chart 实例。

5. 知识点E - 如何定义提示框

  chart.tooltip({
    crosshairs: {
      type: 'line'
    }
  });
  • tooltip:定义图表的tooltip配置,G2图表的tooltip使用html渲染。

6. 知识点F - 如何渲染图表

  chart.line().position('year*yearValue');
  chart.point().position('year*yearValue').size(4).shape('circle').style({
    stroke: '#fff',
    lineWidth: 1
  });
  chart.render();
  • line:渲染折线效果。
  • point:渲染折线上点效果。
  • render:用于将图表渲染至画布。

完整代码

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>基础折线图</title>
</head>
<body>
<div id="zhexiantu"></div>
<script src="./js/g2.min.js"></script>
<script src="./js/data-set.min.js"></script>
<script>
  const data = [
    { year: '2001', yearValue: 3 },
    { year: '2002', yearValue: 4 },
    { year: '2003', yearValue: 3.5 },
    { year: '2004', yearValue: 5 },
    { year: '2005', yearValue: 4.9 },
    { year: '2006', yearValue: 6 },
    { year: '2007', yearValue: 7 },
    { year: '2008', yearValue: 9 },
    { year: '2009', yearValue: 13 }
  ];
  const chart = new G2.Chart({
    container: 'zhexiantu',
    forceFit: true,
    height: window.innerHeight
  });
  chart.source(data);
  chart.scale('yearValue', {
    min: 0
  });
  chart.scale('year', {
    range: [ 0 , 1 ]
  });
  chart.tooltip({
    crosshairs: {
      type: 'line'
    }
  });
  chart.line().position('year*yearValue');
  chart.point().position('year*yearValue').size(4).shape('circle').style({
    stroke: '#fff',
    lineWidth: 1
  });
  chart.render();
</script>
</body>
</html>

最终效果
demo.gif

系列课程

  • 我在乌托邦上有20多个关于eCharts的教程。
    I have completed 20+ tutorials about echarts.
  • 如果您喜欢我的教程,可以在我的个人档案页面,获取更多信息。
    If you like my tutorial , You can check out your profile for more such tutorials.
  • 您可以使用zqz-tutorial标签快速查看我发布的所有教程
    You can use the "zqz-tutorial" tag to see all the tutorials I've posted.



Posted on Utopian.io - Rewarding Open Source Contributors

使用G2创建单折线图/How To Use G2 To Make Line Chart | Ecency