https://github.com/open-data-plan/g2plot-vue
g2plot for vue, both 2 and 3
https://github.com/open-data-plan/g2plot-vue
antv g2 g2plot g2plot-vue vue vue2 vue3
Last synced: about 1 month ago
JSON representation
g2plot for vue, both 2 and 3
- Host: GitHub
- URL: https://github.com/open-data-plan/g2plot-vue
- Owner: open-data-plan
- License: mit
- Created: 2020-08-06T06:46:36.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-04-12T11:04:37.000Z (about 1 year ago)
- Last Synced: 2024-04-12T22:30:29.482Z (about 1 year ago)
- Topics: antv, g2, g2plot, g2plot-vue, vue, vue2, vue3
- Language: TypeScript
- Homepage: https://g2plot-vue.opd.cool/
- Size: 26 MB
- Stars: 128
- Watchers: 4
- Forks: 13
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
![]()
# @opd/g2plot-vue
> [G2Plot](https://g2plot.antv.vision/) for `Vue`, 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
```## 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
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 },
],
},
}
},
}```
## DEMO
- Vue 3
- [github](https://github.com/open-data-plan/g2plot-vue-demo)
- [online](http://g2plot-vue-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
- [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)