# g2plot-vue
**Repository Path**: qhl/g2plot-vue
## Basic Information
- **Project Name**: g2plot-vue
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-09-11
- **Last Updated**: 2024-09-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# @opd/g2plot-vue
> [G2Plot](https://g2plot.antv.vision/) for `Vue`, both `v2` and `v3`, see [documentation](https://g2plot-vue.opd.cool) for more
[](https://github.com/open-data-plan/g2plot-vue/actions?query=workflow%3Abuild)
[](https://www.npmjs.com/package/@opd/g2plot-vue)
[](https://www.npmjs.com/package/@opd/g2plot-vue)
[](https://www.npmjs.com/package/@opd/g2plot-vue)
[](https://codecov.io/gh/open-data-plan/g2plot-vue)
[](https://app.fossa.com/projects/git%2Bgithub.com%2Fopen-data-plan%2Fg2plot-vue?ref=badge_shield)
## 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:
```bash
node ./node_modules/@opd/g2plot-vue/scripts/postinstall.js
```
## Usage
[](https://codesandbox.io/s/g2plot-vue-basic-example-uxde9?fontsize=14&hidenavigation=1&theme=dark)
### jsx
```tsx
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 () =>
})
```
### template
```vue
```
## DEMO
- Vue 3
- [github](https://github.com/open-data-plan/g2plot-vue-demo)
- [online](http://g2plot-vue-demo-opd.vercel.app/)
- Vue 2
- [github](https://github.com/open-data-plan/g2plot-vue2-demo)
- [online](http://g2plot-vue2-demo-opd.vercel.app/)
## API
All config defined in `G2Plot` [document](https://g2plot.antv.vision/zh/docs/manual/introduction) 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
- [Throw error: `Failed to mount component: template or render function not defined.` in `vue@2`](https://github.com/open-data-plan/g2plot-vue/issues/483)
please ensure `composition-api` has been enabled.
- [Build failed with `vite`](https://github.com/open-data-plan/g2plot-vue/issues/505)
`g2plot-vue` use `babel` to build output files, and transform `@babel/runtime` with dependencies, so `@babel/runtime` is required.
## Develop
```
npm install
npm run build
```
## License
[](https://app.fossa.com/projects/git%2Bgithub.com%2Fopen-data-plan%2Fg2plot-vue?ref=badge_large)