建立第一个G2图表
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
成功安装完成之后,即可使用 import 或 require 进行引用。
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 容器后,我们就可以进行简单的图表绘制:
创建 Chart 图表对象,指定图表所在的容器 ID、指定图表的宽高、边距等信息;
var chart=new G2.Chart({
container:"root",
forceFit:true,
width:500,
height:500
});//创建空图表
载入图表数据源;
chart.source(data)//载入数据源
使用图形语法进行图表的绘制;
chart.line().position("year*value");//选择展现数据的类型
渲染图表;
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图表的更多相关文章
- Day3 AntV/G2图表的组成
简介 为了更好的使用G2进行数据可视化,我们需要先了解G2图表的组成及其相关概念. 完整的G2图表组成如下图所示:可以看出图表主要由axes(坐标轴axis的复数),tooltip(提示信息),gui ...
- 【读书札记】建立第一个Web项目
安装配置好jdk.tomcat,我用的版本号是7.0.54,我放在C:\server\apache-tomcat-7.0.54下, CATALINA_BASE:C:\server\apache-tom ...
- linux下一个oracle11G DG建立(一个):准备环境
linux下一个oracle11G DG建立(一个):准备环境 周围环境 名称 主库 备库 主机名 bjsrv shsrv 软件版本号 RedHat Enterprise5.5.Oracle 11g ...
- 建立第一个Sencha Touch应用
准备 开始开发前,请先到下面的地址下载Sencha Touch 2的包:http://www.sencha.com/products/touch/download/ .下载完解压后你会发现包里有很多文 ...
- pycharm建立第一个django工程-----windows中
pycharm建立第一个django工程 系统:win764 ip: 192.168.0.100 安装django pip install django 左上角建立一个名为Firstdjango工程 ...
- 建立第一个Django工程---linux中的python
建立第一个Django工程 环境: ip: 192.168.0.92 系统:centos7.5 安装django pip install django 启动一个HelloWorld工程 django- ...
- 建立第一个SCRAPY的具体过程
1.安装SCRAPY2.进入CMD:执行:SCRAPY显示: Scrapy 1.8.0 - no active project Usage: scrapy <command> [optio ...
- AntV G2 图表tooltip重命名
在做数据可视化的过程中,遇到了一个问题,就是给图表tooltip重命名. 在研究后,发现了三种方法: 方法1:一般情况下,可以在给chart绑定数据源时,添加scale配置,并在scale配置中设置别 ...
- FusionCharts简单教程(一)---建立第一个FusionCharts图形
由于项目需求需要做一个报表,选择FusionCharts作为工具使用.由于以前没有接触过报表,网上也没有比较详细的fusionCharts教程,所以决定好好研究FusionCharts,同时做一个比较 ...
随机推荐
- Java 集合类Hashmap
一.HashMap 简介 HashMap在程序员的开发过程中是一个十分常用的集合类,它是一个以键值对形式存在的集合类, 在开发中我们可以利用的它的一个key存在即替换的特性,实现一个更新的去重的操作. ...
- 阿里云体验:安装jdk
在阿里云的linux服务器上默认是没有安装java环境的,需要自己安装.查了许多资料,发现这篇文章简洁易用.http://www.cnblogs.com/cloudwind/archive/2012/ ...
- 【UR #7】水题走四方 题解
链接:http://uoj.ac/problem/84 20分算法:萌萌的小爆搜,别搜进环里就行. 50分:我们考虑一下最优决策是什么样的.看似很显然的一点就是我们先让本体在原地不动,让分身去遍历子树 ...
- 学习springboot整合mybatis并编写测试类
报名立减200元.暑假直降6888. 邀请链接:http://www.jnshu.com/login/1/20535344 邀请码:20535344 遇到的问题: 1.原因是在启动类上只有一个@Map ...
- 个人永久性免费-Excel催化剂功能第54波-批量图片导出,调整大小等
图片作为一种数据存在,较一般的存放在Excel单元格或其他形式存在的文本数据,对其管理更为不易,特别是仅有Excel原生的简单的插入图片功能时,Excel催化剂已全面覆盖图片数据的使用场景,无论是图片 ...
- 个人永久性免费-Excel催化剂功能第22波-Excel文件类型、密码批量修改,补齐PowerQuery短板
Excel的多工作薄.多工作表批量合并功能,Excel用户很多这方面的使用场景,也促使了各大Excel各大插件们都在此功能上有所开发,体验程度不一,但总体能够满足大多数的应用场景,本人之前也开发个单独 ...
- Android调用系统分享功能总结
Android分享-调用系统自带的分享功能 实现分享功能的几个办法 1.调用系统的分享功能 2.通过第三方SDK,如ShareSDK,友盟等 3.自行使用各自平台的SDK,比如QQ,微信,微博各自的S ...
- 高级MySQL
一.MySQL的架构介绍 1.高级MySQL MySQL内核 SQL优化 MySQL服务器的优化 各种参数常亮设定 查询语句优化 主从复制 软硬件升级 容灾备份 SQL编程 2.MySQL的Linux ...
- windows 下搭建安装 sass
众所周知,sass 解析需要有 ruby 的支撑,所以, 第一步:点我下载 ruby: 第二步:安装 ruby: 在安装 ruby 过程中需要注意的一点:把 ruby 执行文件添加到 path,勾选这 ...
- idea新建javaweb工程
最近尝试了idea的使用,将idea建立javaweb工程的步骤记录下来 1.方框里边是重点 2.next后输入工程文件名点击finish 3.如图看到项目文件夹里边没有WEB-INF文件夹及里边的w ...