bizcharts图表封装之分组柱状图(带Slider)

一、带滚动条Slider的分组柱状图封装

import React from "react";
import {Axis, Chart, Geom, Legend, Tooltip} from "bizcharts";
// @ts-ignore
import Slider from 'bizcharts-plugin-slider';
// @ts-ignore
import DataSet from '@antv/data-set';
import {dealSliderChange, filterSliderData} from "@/pages/charts/utils/chartsCommon";

interface IGroupedColumnProps {
  data: any[]; // 数据源
  xAxis: string; // x轴坐标
  yAxis: string; // y轴坐标
  legendName: string; // 图例对应的变量(数据中表示种类的字段)
  color?: string[];
  height?: number;
  maxLen?: number;
}

/**
 * 分组柱状图(两组及两组以上柱状图,可设置滚动条)
 * @param props
 * @constructor
 */
const GroupedColumn: React.FC<IGroupedColumnProps> = (props) => {
  const {height = 400, xAxis, yAxis, data, maxLen, color, legendName} = props;
  let flag: boolean = false;
  let dv: any;
  let ds: any;
  // 获取数据中横坐标的个数,作为是否出现滚动条的依据;
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AntV G2Plot 是一款基于 G2 的专业可视化图表库,支持绘制多种类型的图表,包括柱状图、折线图等。要绘制分组柱状图和折线图混合的图表,并且加上 slider,可以使用 G2Plot 的 GroupedColumnLine 组件。 首先,需要定义数据源,并指定数据字段的类型(例如 x 轴、y 轴等)。接着,可以使用 GroupedColumnLine 组件来绘制混合的图表。在 GroupedColumnLine 中,可以分别指定柱状图和折线图的样式、颜色等属性,如下所示: ```javascript import { GroupedColumnLine } from '@antv/g2plot'; const data = [ { year: '2010', sales: 450, profit: 200 }, { year: '2011', sales: 560, profit: 230 }, { year: '2012', sales: 620, profit: 250 }, { year: '2013', sales: 750, profit: 300 }, { year: '2014', sales: 800, profit: 350 }, ]; const plot = new GroupedColumnLine('container', { data, xField: 'year', yField: ['sales', 'profit'], columnWidthRatio: 0.4, line: { style: { lineWidth: 2, stroke: '#fdae6b', }, }, slider: { start: 0.2, end: 0.8, }, }); plot.render(); ``` 在上面的代码中,我们定义了一个数据源,并指定了 x 轴和 y 轴的数据字段。接着,创建一个 GroupedColumnLine 实例,并指定容器,然后设置数据源和坐标轴的样式。最后,使用 line 属性设置折线图的样式,并使用 slider 属性加上滑动条。 需要注意的是,GroupedColumnLine 组件还支持多种混合图表类型,包括折线图、柱状图、面积图等,可以根据自己的需求选择适合的图表类型。同时,通过调整 slider 的配置,可以改变滑动条的样式和位置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值