Data Visualization is the important part of a commercial application. There are plenty of JavaScript library available for this task. In this series of post we are discussing about Chartjs and its Vue wrapper.
Creating Component may save your time and it increase the re-usability of the code.
Install dependencies
In-order to use Chartjs charts we need multiple dependency which can be installed using one of the following methods.
yarn add vue-chartjs chart.js
npm install vue-chartjs chart.js --save
Create component
In the component folder of the project add the following code and name the file Doughnut.js
import { Doughnut, mixins } from 'vue-chartjs'
export default {
extends: Doughnut,
mixins: [mixins.reactiveProp],
name: 'DoughnutChart',
props: [{
chartData: {
type: Object,
default: null
},
options: {
type: Object,
default: null
}
}],
mounted() {
this.renderChart(this.chartData, this.options)
}
}
Using the component
In the page component we can import component and bind the data, and options.
<template>
<div class="flex-container">
<DoughnutChart :chartData="chartdata" :options="options" />
</div>
</template>
<script>
// @ is an alias to /src
import DoughnutChart from '@/components/Doughnut'
export default {
name: "Doughnut",
components: { DoughnutChart
},
data (){
return {
chartdata: {
labels: ['January', 'February'],
datasets: [
{
label: 'Data One',
backgroundColor: '#f87979',
data: [40, 20]
},
{
label: 'Data Two',
backgroundColor: '#5885af',
data: [140, 120]
}
]
},
options: {
responsive: true,
maintainAspectRatio: false
},
}
}
};
</script>
<style>
.flex-container {
display: flex;
}
</style>
A complete set of chart components will be available on Vue-chart-components Repository
Following vue-route post may interest you
- Create doughnut chart component in Vuejs - How to Create a doughnut chart in Vue using vue-chartjs module
- Create line chart component in Vue - How to Create a LineChart in Vue using vue-chartjs module
- redirecting multiple routes in Vuejs - How to redirect multiple routes in vuejs
- Redirect a route in Vue router - How to redirect an route to a named routed in vuejs
- How to add router in Vuejs project - How to configure vue router for new and existing projects