Highcharts-Vue is an easy to use library that lets us add charts to our Vue apps.
In this article, we’ll look at how to add charts with the highcharts-vue library.
Line Chart
We can add a line chart by writing:
main.js
import Vue from "vue";
import App from "./App.vue";
import HighchartsVue from "highcharts-vue";
Vue.use(HighchartsVue);
new Vue({
el: "#app",
render: (h) => h(App)
});
App.vue
<template>
<div>
<highcharts class="hc" :options="chartOptions" ref="chart"></highcharts>
</div>
</template>
<script>
export default {
data() {
return {
chartOptions: {
series: [
{
data: [1, 2, 3],
},
],
},
};
},
};
</script>
We register the HighchartsVue plugin and then use the highcharts component within App.vue .
The data for the y-axis is in the series.data property.
Gantt Chart
To create a Gantt chart, we write:
main.js
import Vue from "vue";
import App from "./App.vue";
import Highcharts from "highcharts";
import Gantt from "highcharts/modules/gantt";
import HighchartsVue from "highcharts-vue";
Gantt(Highcharts);
Vue.use(HighchartsVue);
new Vue({
el: "#app",
render: (h) => h(App)
});
App.vue
<template>
<div>
<highcharts
:constructorType="'ganttChart'"
class="hc"
:options="chartOptions"
ref="chart"
></highcharts>
</div>
</template>
<script>
export default {
data() {
return {
chartOptions: {
title: {
text: "Gantt Chart with Progress Indicators",
},
xAxis: {
min: Date.UTC(2021, 10, 17),
max: Date.UTC(2021, 10, 30),
},
series: [
{
name: "Project 1",
data: [
{
name: "Start",
start: Date.UTC(2021, 10, 18),
end: Date.UTC(2021, 10, 25),
completed: 0.25,
},
{
name: "Test",
start: Date.UTC(2021, 10, 27),
end: Date.UTC(2021, 10, 29),
},
{
name: "Develop",
start: Date.UTC(2021, 10, 20),
end: Date.UTC(2021, 10, 25),
completed: {
amount: 0.12,
fill: "#fa0",
},
},
{
name: "Test Again",
start: Date.UTC(2021, 10, 23),
end: Date.UTC(2021, 10, 26),
},
],
},
],
},
};
},
};
</script>
We call the Gantt function in main.js to let us add Gantt charts.
Then we can use the highcharts component to render the chart.
The title has the title.
xAxis has the x-axis value range.
series has the data.
name has the name for the bar.
start and end are the start and end dates.
completed has the progress value.
Conclusion
We can add a line and Gantt chart easily with highcharts-vue.