antv G2 实战入门教程-折线图-引入JS(Ajax获取数据动态展示)

公司之前用echarts做图表,后来产品大哥让改用G2,没办法上吧。
两种方式使用G2
1,引入JS,版本不要太低,因为有的版本低一些东西没有,容易报错(比如:chart.data is not a function)。我就踩了这个坑,后来用的版本是4.0.15

我用的第一种直接引入JS

<script src="http://gw.alipayobjects.com/os/lib/antv/g2/4.0.15/dist/g2.min.js"></script>
<script src="http://unpkg.com/@antv/data-set"></script>

代码示例 :

    <div id="c2"></div>

注意:下面有一个 data 的数据,这个数据你可以用Ajax调接口拿到页面上,这个就是你要展示的数据。这个数据是接口处理好的, 方便你们好查找 const data = result.dataList
关于数据多说一句:很多人好奇这个数据怎么弄,这个就是后端接口返回的数据,数据是后端处理好直接拿来用的(当然你也可以前端处理数据格式),我这块只展示把数据放到G2上使用

	//上座率
	function attendance(){
		$.ajax({
			type : 'post',
			url: baseUrl + "Demo/getDemo",
			data:{},
            dataType: "jsonp",
            success:function(result){
            	const data = result.dataList;//这个是接口拿到的数据,用来展示的
           		// 数据需要加工成 {year: '1996', type: 'north', value: 50} 的模式
           		const dv = new DataSet.DataView().source(data);
           		dv.transform({
           		  type: 'fold',
           		  fields: ['百分比', '日座上座率统计'], // 展开字段集
           		  key: 'type', // key字段
           		  value: 'value', // value字段
           		});

           		const chart = new G2.Chart({
           		  container: 'c2',
           		  autoFit: true,
           		  height: 500,
           		});

           		chart.data(dv.rows);
           		chart.scale('year', {
           		  range: [0, 1],
           		});
           		chart.legend({
                		  position: 'top',
                });
           		chart.scale('value', {
           		  nice: true,
           		});
           		chart.tooltip({
           		  shared: true,
           		  showCrosshairs: true,
           		});

           		chart
           		  .area()
           		  .position('year*value')
           		  .color('type');
           		chart
           		  .line()
           		  .position('year*value')
           		  .color('type');
           		chart.render();
           		payTicket()//今日刷卡数统计
            }
		})
	}

效果图:
在这里插入图片描述

2.官方示例安装: npm install @antv/g2

在这里插入图片描述

官方简介:https://g2.antv.vision/zh/docs/manual/about-g2

AntV G2 可以通过多种方式实现分组柱状图和折线图的混合画法,以下是其中一种实现方法: 1. 首先,定义数据格式,包括 x 轴数据、柱状图数据和折线图数据。 2. 然后,使用 G2 的图表配置方法,设置 x 轴和 y 轴的属性。 3. 接下来,使用 G2 的图表创建方法,创建柱状图和折线图对象。 4. 最后,将柱状图对象和折线图对象添加到同一个视图中,实现分组柱状图和折线图的混合画法。 以下是一个示例代码,实现了分组柱状图和折线图的混合画法: ```javascript import { Chart } from '@antv/g2'; // 定义数据格式 const data = [ { x: '一月', y1: 10, y2: 20 }, { x: '二月', y1: 20, y2: 30 }, { x: '三月', y1: 30, y2: 40 }, { x: '四月', y1: 40, y2: 50 }, { x: '五月', y1: 50, y2: 60 }, { x: '六月', y1: 60, y2: 70 }, ]; // 创建图表对象 const chart = new Chart({ container: 'container', autoFit: true, height: 500, }); // 设置 x 轴和 y 轴的属性 chart.scale({ x: { range: [0, 1] }, y: { min: 0 }, }); // 创建柱状图对象 const bar = chart .interval() .position('x*y1') .color('x') .adjust([{ type: 'dodge', marginRatio: 0.1 }]); // 创建折线图对象 const line = chart .line() .position('x*y2') .color('x'); // 添加柱状图对象和折线图对象到同一个视图中 chart.render(); bar.render(); line.render(); ``` 该示例代码创建了一个包含两组数据的分组柱状图和一组数据的折线图,其中柱状图和折线图共享 x 轴,分别对应 y1 和 y2,柱状图和折线图的颜色按照 x 轴分组。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七月吃橘子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值