Skip to content

open-data-plan/g2plot-vue

Repository files navigation

@opd/g2plot-vue

G2Plot for Vue, both v2 and v3, see documentation for more

build npm npm npm codecov FOSSA Status

Install

npm install @opd/g2plot-vue

g2plot-vue will auto switch export version based on your installed vue version, if not work, you can switch by follow:

node ./node_modules/@opd/g2plot-vue/scripts/postinstall.js

Usage

Edit g2plot-vue-basic-example

jsx

import { defineComponent, ref } from 'vue'
import { LineChart, LineChartProps } from '@opd/g2plot-vue'

const config: LineChartProps = {
  height: 350,
  autoFit: true,
  xField: 'year',
  yField: 'value',
  smooth: true,
  meta: {
    value: {
      max: 15,
    },
  },
  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: 11 },
  ],
}

export default defineComponent(() => {
  const chartRef = ref(null)
  return () => <LineChart {...config} chartRef={chartRef} />
})

template

<template>
  <line-chart v-bind="config" />
</template>
<script>
import Vue from 'vue'
import { LineChart } from '@opd/g2plot-vue'

Vue.use(LineChart)

export default {
  data() {
    return {
      config: {
        height: 350,
        autoFit: true,
        xField: 'year',
        yField: 'value',
        smooth: true,
        meta: {
          value: {
            max: 15,
          },
        },
        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: 11 },
        ],
      },
    }
  },
}
</script>

DEMO

API

All config defined in G2Plot document can be used as props or attrs

Notable API in g2plot-vue

  • chartRef: ref of rendered plot, available after plot mounted, NOT component mounted
  • onReady: callback after plot mounted, NOT component mounted

FYI

Develop

npm install
npm run build

License

FOSSA Status