antv-g2学习手册-下

本文深入探讨G2图表库的功能,包括视图与图表的创建、分面设置、交互配置、基础图表绘制及几何标记使用。同时介绍了G2支持的渲染引擎及数据范围选择插件的使用方法。

绘制视图View

G2的图表Chart,可以创建多个视图View,每个View各自又可以创建其子View,所以在G2中,View是支持嵌套的。每个View同Chart一样,拥有自己独立的数据源,坐标系,几何标记,Tooltip以及图例。Chart也是一种特殊的View;

如何创建视图

直接通过调用chart.createView()即可创建View对象,此时会默认创建一个绘图区域于Chart相同的视图,然后可以通过region属性指定view的绘图区域。

//创建chart对象
const chart = new G2.chart({
   
   
	container:'container',
	autoFit:false,
	width:1000,
	height:500
});
//创建视图
const view = chart.createView({
   
   
	region:{
   
   
		start:{
   
   x:,y:}//指定该视图绘制的其实位置,x y 为[0-1]范围的数据
		end:{
   
   x:,y:}//指定该视图绘制的结束位置,x y 为[0-1]范围的数据
	},
	padding:[20,40],//指定视图的留白
})

注:

  1. 为了让用户更好更快的指定视图的绘制区域,start和end只接受0到1范围的数据
  2. View的绘制起始点是画布左上角
  3. view并不负责最后的画布绘制,统一由chart对象进行渲染,即chart.render()
view.data(data)//为View载入数据
view.interval().position('x*y').color('x')//使用图形语法绘制图表
chart.render();//由chart负责统一的渲染

绘制分面

分面,将一份数据按照某个维度分隔成若干子集,然后创建一个图表的矩阵,将每一个数据子集绘制到图形矩阵的窗格中。
分面提供了两个功能:

  1. 按照指定的维度划分数据集
  2. 对图表进行排版
如何设置分面
chart.facet(type,{
   
   
	fileds:['field1','field2'],
	showTitile:true,//显示标题
	padding:10,//每个分面之间的间距
	/*
	*创建每个分面中的视图
	*@param view 视图对象
	*@param facet facet中有行列等信息
	*@return {null}
	*/
	eachView(view,facet){
   
   },
})

说明:

  • type用于指定分面的类型
  • fileds属性用于指定数据集划分依据的字段
  • eachView回调函数中创建各个视图的图表类型
分面的类型
分面类型 说明
rect 默认类型,指定2个维度作为行列,形成图表的
### 安装步骤 为了在基于 Vite 的 Vue 项目中集成 AntV G2 图表库,需先通过 npm 或 yarn 安装必要的依赖包。执行如下命令来安装 `@antv/g2` 和其对应的 Vue 组件包裹器 `@antv/g2plot`: ```bash npm install @antv/g2 @antv/g2plot ``` 或者如果偏好使用 yarn,则运行: ```bash yarn add @antv/g2 @antv/g2plot ``` ### 配置方法 完成上述安装之后,在项目的入口文件(通常是 main.js 或者 main.ts 文件),注册全局组件以便于在整个应用范围内使用这些图表组件。 ```javascript import { createApp } from 'vue'; import App from './App.vue'; // 导入并注册G2Plot插件 import G2Plot from '@antv/g2plot'; app.use(G2Plot); const app = createApp(App); app.mount('#app'); ``` 对于某些特定场景下的配置需求,比如样式调整或是国际化支持等,可以根据官方文档进一步定制化设置[^1]。 ### 基本用法示例 下面给出一段简单的代码片段展示如何在一个 Vue 单文件组件内创建柱状图实例: ```html <template> <div id="container"></div> </template> <script setup lang="ts"> import { ref, onMounted } from 'vue'; import { Column } from '@antv/g2plot'; let chart; onMounted(() => { const data = [ { type: '分类一', sales: 38 }, { type: '分类二', sales: 52 }, { type: '分类三', sales: 61 }, { type: '分类四', sales: 145 }, { type: '分类五', sales: 48 }, { type: '分类六', sales: 38 }, { type: '分类七', sales: 38 }, { type: '分类八', sales: 77 } ]; chart = new Column('container', { title: { visible: true, text: 'The Sales of Each Category', }, forceFit: true, padding: 'auto', data, xField: 'type', yField: 'sales' }); chart.render(); }); </script> <style scoped> #container { width: 600px; height: 400px; } </style> ``` 此段代码展示了如何利用 AntV/G2 库中的 `Column` 类型快速构建一个基础的条形统计图,并将其渲染到指定 DOM 节点上。值得注意的是,这里采用了 Composition API 形式的编写方式,这使得逻辑更加清晰易懂[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值