Step1:引进G2脚本

方法一:引入在线脚本

<script src="https://gw.alipayobjects.com/os/lib/antv/g2/3.4.10/dist/g2.min.js"></script>

方法二:引入本地脚本

<script src="./g2.js"></script>
//src为本地G2脚本所在相对路径

方法三:通过npm安装

npm install @antv/g2 --save

  成功安装完成之后,即可使用 importrequire 进行引用。

import G2 from '@antv/g2';
//const G2=require("@antv/g2");

const chart = new G2.Chart({
  container: 'c1',
  width: 600,
  height: 300
});

使用该方式进行加载时可以按需引入AntV图表和组件。

默认使用 require("@antv/g2") 得到的是已经加载了所有图表和组件的 AntV 包,因此体积会比较大,如果在项目中对体积要求比较苛刻,也可以只按需引入需要的模块。

以下例子中Core核心模块必须导入,该包只包含核心的图形语法处理逻辑,具体包含如下:

  • Scale:度量,仅包含基础的 Linear、Cat 以及 Identity 这三种类型
  • G:绘制引擎
  • Animate:动画配置
  • Chart:图表入口类
  • Global:全局变量
  • Shape:管理各种类型的shape
  • Util: 通用工具类
//必须引入核心包coreconst Core=require("@antv/g2/lib/core");
require("@antv/g2/lib/geom/line");
require("@antv/g2/lib/geom/point");
var data = [{
    year: '1991',
    value: 3
}, {
    year: '1992',
    value: 4
}, {
    year: '1993',
    value: 3.5
}, {
    year: '1994',
    value: 5
}, {
    year: '1995',
    value: 4.9
}, {
    year: '1996',
    value: 6
}, {
    year: '1997',
    value: 7
}, {
    year: '1998',
    value: 9
}, {
    year: '1999',
    value: 13
}];
var chart=new G2.Chart({
    container:"root",
    forceFit:true,
});
chart.source(data);
chart.line().position("year*value");
chart.point().position("year*value").size(4).shape('circle').style({
    stroke: '#fff',
    lineWidth: 1
});
chart.render();

例如上面的例子中只用到了点图和折线图,因此引入的时候可以只引入这两个模块,从而将打包体积从563KB减小到432KB

可以按需引入的模块见https://github.com/antvis/g2/tree/master/src

注意:使用该种方式引入脚本需要使用webpack工具打包才可运行,Webpack 是目前比较流行的模块打包工具,你可以在使用 webpack 的项目中轻松的引入和打包AntV,这里假设你已经对 webpack 具有一定的了解并且在自己的项目中使用。

Step2:创建div图表容器

在页面的body部分创建一个div

<div id="root"></div>

注意点:

1.其中容器标签不一定是div标签,但必须是能包含div的标签,至于哪些标签能够包含div标签,可以参考标签嵌套问题总结

2.容器标签中也不一定必须绑定id,绑定class等也可以,只要能获取到该元素就行,但相对来说绑定id最为合适,因为一般每幅图都是独一无二的,但如果需要多副相同的图时,需要写重复代码,所以这里可以提个需求:让容器允许接收元素数组,而不是单单某一个元素。。

Step3. 编写图表绘制代码

创建 div 容器后,我们就可以进行简单的图表绘制:

  1. 创建 Chart 图表对象,指定图表所在的容器 ID、指定图表的宽高、边距等信息;   

var chart=new G2.Chart({
        container:"root",
        forceFit:true,
        width:500,
        height:500
    });//创建空图表        
  1. 载入图表数据源;

chart.source(data)//载入数据源
  1. 使用图形语法进行图表的绘制;

chart.line().position("year*value");//选择展现数据的类型
  1. 渲染图表;

chart.render();//渲染图表

最后的源代码和效果图如下:

var data = [{
        year: '1991',
        value: 3
    }, {
        year: '1992',
        value: 4
    }, {
        year: '1993',
        value: 3.5
    }, {
        year: '1994',
        value: 5
    }, {
        year: '1995',
        value: 4.9
    }, {
        year: '1996',
        value: 6
    }, {
        year: '1997',
        value: 7
    }, {
        year: '1998',
        value: 9
    }, {
        year: '1999',
        value: 13
    }];//数据
    var chart=new G2.Chart({
        container:"root",
        forceFit:true,
    });//创建空图表
    chart.source(data);//选择数据源
    chart.line().position("year*value");//选择展现数据的类型
    chart.point().position("year*value").size(4).shape('circle').style({
        stroke: '#fff',
        lineWidth: 1
    });
    chart.render();//将数据渲染到图表上

建立第一个G2图表的更多相关文章

  1. Day3 AntV/G2图表的组成

    简介 为了更好的使用G2进行数据可视化,我们需要先了解G2图表的组成及其相关概念. 完整的G2图表组成如下图所示:可以看出图表主要由axes(坐标轴axis的复数),tooltip(提示信息),gui ...

  2. 【读书札记】建立第一个Web项目

    安装配置好jdk.tomcat,我用的版本号是7.0.54,我放在C:\server\apache-tomcat-7.0.54下, CATALINA_BASE:C:\server\apache-tom ...

  3. linux下一个oracle11G DG建立(一个):准备环境

    linux下一个oracle11G  DG建立(一个):准备环境 周围环境 名称 主库 备库 主机名 bjsrv shsrv 软件版本号 RedHat Enterprise5.5.Oracle 11g ...

  4. 建立第一个Sencha Touch应用

    准备 开始开发前,请先到下面的地址下载Sencha Touch 2的包:http://www.sencha.com/products/touch/download/ .下载完解压后你会发现包里有很多文 ...

  5. pycharm建立第一个django工程-----windows中

    pycharm建立第一个django工程 系统:win764 ip: 192.168.0.100 安装django pip install django 左上角建立一个名为Firstdjango工程 ...

  6. 建立第一个Django工程---linux中的python

    建立第一个Django工程 环境: ip: 192.168.0.92 系统:centos7.5 安装django pip install django 启动一个HelloWorld工程 django- ...

  7. 建立第一个SCRAPY的具体过程

    1.安装SCRAPY2.进入CMD:执行:SCRAPY显示: Scrapy 1.8.0 - no active project Usage: scrapy <command> [optio ...

  8. AntV G2 图表tooltip重命名

    在做数据可视化的过程中,遇到了一个问题,就是给图表tooltip重命名. 在研究后,发现了三种方法: 方法1:一般情况下,可以在给chart绑定数据源时,添加scale配置,并在scale配置中设置别 ...

  9. FusionCharts简单教程(一)---建立第一个FusionCharts图形

    由于项目需求需要做一个报表,选择FusionCharts作为工具使用.由于以前没有接触过报表,网上也没有比较详细的fusionCharts教程,所以决定好好研究FusionCharts,同时做一个比较 ...

随机推荐

  1. python爬虫登陆问题

    根据腾讯课堂网页登陆问题进行解说(需要安装谷歌浏览器): 1.导入库 import requests from selenium import webdriver 2.根据腾讯课堂链接,进入页面,获取 ...

  2. 使用flink Table &Sql api来构建批量和流式应用(1)Table的基本概念

    从flink的官方文档,我们知道flink的编程模型分为四层,sql层是最高层的api,Table api是中间层,DataStream/DataSet Api 是核心,stateful Stream ...

  3. Appium+python自动化(十九)- 猴哥失散多年的混血弟弟还是妹妹- Monkey(猴子)参数(超详解)

    简介 前边几篇介绍了Monkey以及Monkey的事件,今天就给小伙伴们介绍和分享一下Monkey的参数. 首先我们看一下这幅图来大致了解一下: 1.Monkey 命令 基本参数介绍 -p <允 ...

  4. 后端访问sso后,如何返回前端vue页面(后端redirect跳转,vue代理,axios带参)

    由于项目要加上公司的sso,出现的一系列问题,找到解决办法,在此记录一下.可能并不适合其他项目,给个参考. 前提: 前端是vue.js,后端springboot sso配置需要增加公司自己的maven ...

  5. 解析Unicode转义序列带来的问题

    Unicode转义序列的解析是发生在代码编译之前,编译器机械的将\u样式的代码文本转义,即使是注释以及非正常代码,对此步骤来说也没有区别 导致下面的情况: public class Test { pu ...

  6. Element-ui DatePicker显示周数

    1.场景描述 我们公司是做电商的,运营的工作指标都是按周来定的,所以他们对周特别敏感,希望我们能在日期选择器上显示周数.刚接到这个需求时,心中很不乐意,因为Element-ui的日期选择器根本不支持显 ...

  7. blast2go本地化 mysql_study

    mysql yum -y install mysql mysqladmin -uroot -passwd "oebiotech" mysql -uroot -poebiotech ...

  8. Python-入门学习

    开始学习Python(围绕windows 平台上),记录一些点滴的知识点,也希望可以和大家交流分享. ================================================= ...

  9. ItemsControl绑定的数据模板显示不同样式:模板选择器

    总所周知,wpf提供了数据模板,列表控件可以绑定数据实现批量显示同类型数据.不过同个数据模板显示不同的样式怎么办?这时我们可以用模板选择器. 首先我们可以将数据绑定到首先定义资源样式 <Data ...

  10. 学习笔记-jvm运行时数据区

    按照线程私有和共享区域来划分 线程私有 程序计数器 指向当前线程正在执行的字节码行号地址,如果是本地方法,值为undefined 虚拟机中唯一不会oom的区域 为什么会有程序计数器 - java天生多 ...