Reputation: 160
I am trying to create a line chart using highcharts.js. Below is the code I am using:
<template>
<Highcharts :options="chartOptions" ></Highcharts>
</template>
<script>
import { mapActions } from 'vuex'
import Vue from 'vue'
import { Highcharts } from 'highcharts'
export default
{
components: {
Vue,
Highcharts
},
data ()
{
return{
chartOptions:{
title: {text: 'Solar Employment Growth by Sector, 2010-2016'},
subtitle: {text: 'Source: thesolarfoundation.com'},
yAxis: {title: {text: 'Number of Employees'}},
legend: {layout: 'vertical',align: 'right',verticalAlign: 'middle'},
plotOptions: {series: {label: {connectorAllowed: false},pointStart: 2010}},
series: [
{name: 'Installation',data: [43934, 52503, 57177, 69658, 97031, 119931, 137133,154175]},
{name: 'Manufacturing',data: [24916, 24064, 29742, 29851, 32490, 30282, 38121, 40434]},
{name: 'Sales & Distribution',data: [11744, 17722, 16005, 19771, 20185, 24377, 32147, 39387]},
{name: 'Project Development',data: [null, null, 7988, 12169, 15112, 22452, 34400, 34227]},
{name: 'Other',data: [12908, 5948, 8105, 11248, 8989, 11816, 18274, 18111]}
]}}}}
But when I run this code I get:
Unknown custom element: <Highcharts> - did you register the component correctly? For recursive components, make sure to provide the "name" option.
Please let me know how to fix this problem. Thanks in advance.
Upvotes: 0
Views: 1378
Reputation: 7372
I recommend you using Highcharts Vue Wrapper that can be downloaded here: https://github.com/highcharts/highcharts-vue.
In main.js register the wrapper:
import HighchartsVue from "highcharts-vue";
Vue.use(HighchartsVue);
Import it and register in the chart component:
<template>
<div>
<highcharts
:options="chartOptions"
ref="lineCharts"
:constructor-type="'chart"
></highcharts>
</div>
</template>
<script>
import { Chart } from "highcharts-vue";
import Highcharts from "highcharts";
import exportingInit from "highcharts/modules/exporting";
exportingInit(Highcharts);
export default {
...
components: {
highcharts: Chart
},
data() {
return {
chartOptions: {
series: [{
data: [1, 2, 3]
}]
}
};
}
};
</script>
Demo:
Upvotes: 2
Reputation: 9
Highcharts Vue Wrapper official tutorial https://www.highcharts.com/blog/tutorials/highcharts-vue-wrapper/
Upvotes: -1