Antv F2双柱状图和折线图的混合写法

这篇博客详细介绍了如何使用 Antv F2 库创建双柱状图和折线图的混合图表。作者在学习F2的过程中发现相关资料稀缺,通过实践摸索出混合图表的写法,并分享了关键点——数据需在同一名下保持一致,这对于理解双柱图的实现至关重要。
摘要由CSDN通过智能技术生成

@Antv F2双柱状图和折线图的混合写法
第一次写博客,原因很简单,来公司后要学习F2,除了官方api发现网上对这个介绍很少,刚好今天遇到双柱图和折线图写法,捣鼓了好久才明白,打算记录在博客中。

import F2 from '@antv/wx-f2'; 
let chart = null;
// 数值显示在柱状图上方得自定义图形,具体参加官方api
var Shape = F2.Shape;
var Util = F2.Util;
// 自定义图形:interval指定义的类型可以是三角形,此处是柱状图
Shape.registerShape('interval', 'text', {
  // draw:是个方法,里面俩参数固定
  draw: function draw(cfg, container) {
    // 通过此方法获取绘制图形的关键点
    var points = this.parsePoints(cfg.points);
    // Util.mix方法:浅拷贝
    var style = Util.mix({
      fill: cfg.color,
      z: true // 需要闭合
    }, cfg.style);
    // rect:interval提供的内置shape类型具体参考 https://www.yuque.com/antv/f2/geometry
    var intervalShape = container.addShape('rect', {
      attrs: Util.mix({
        x: point
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 轴分组。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值