![見出し画像](https://assets.st-note.com/production/uploads/images/51056996/rectangle_large_type_2_0da5995156ba49794c1f2845fc3626a7.png?width=1200)
vue-chart.jsでグラフを描いてみる。 (メモ)
vue.jsを勉強していく中で、グラフ描写をしたくなりました。そこで、vue-chart.jsというライブラリを用いてみることにしました。
まずはvueのcomponentsに以下のvueファイルをそれぞれ配置。
<script>
//BarChart.vue
import { Bar } from 'vue-chartjs';
export default {
extends: Bar,
name: 'chart',
data () {
return {
data: {
labels: [
'2018', '2019', '2020', '2021', '2022', '2023',
],
datasets: [
{
data: [30, 50, 40, 40, 30, 20],
backgroundColor: 'rgb(213, 238, 249, 0.6)',
borderColor: '#4F92BA',
borderWidth: 1,
},
{
data: [20, 40, 30, 30, 10, 40],
backgroundColor: 'rgb(255, 225, 230, 0.6)',
borderColor: '#ff6484',
borderWidth: 1,
},
],
},
options: {
legend: {
display: false
},
tooltips: {
enabled: false,
},
scales: {
yAxes: [{
display: true,
ticks: {
beginAtZero: true
}
}]
}
}
}
},
mounted () {
this.renderChart(this.data, this.options)
}
}
</script>
<script>
//PieChart.vue
import { Pie } from 'vue-chartjs';
export default {
extends: Pie,
name: 'chart',
data () {
return {
data: {
labels: [
'2018', '2019', '2020',
],
datasets: [
{
data: [30, 50, 40,],
backgroundColor: [
'rgb(213, 238, 249, 0.6)',
'rgb(255, 218, 226, 0.6)',
'rgb(255, 236, 219, 0.6)',
],
borderColor: '#fff',
borderWidth: 1,
},
],
},
options: {
legend: {
display: true
},
tooltips: {
enabled: true,
},
// scales: {
// yAxes: [{
// display: true,
// ticks: {
// beginAtZero: true
// }
// }]
// }
}
}
},
mounted () {
this.renderChart(this.data, this.options)
}
}
</script>
<script>
//RaderChart.vue
import { Radar } from 'vue-chartjs';
export default {
extends: Radar,
name: 'chart',
data () {
return {
data: {
labels: [
'社員の士気', '待遇面の満足度', '福利厚生', '成長やりがい', '退職理由', '将来性', '強み、弱み', '経営者への提言'
],
datasets: [
{
label: '',
data: [3.0, 3.5, 4.1, 4.5, 3.4, 2.1, 4.6, 2.2],
backgroundColor: [
'rgb(213, 238, 249, 0.6)'
],
borderColor: [
'#4F92BA'
],
borderWidth: 1,
tension: 0,
pointBorderColor: '#4F92BA',
pointBackgroundColor: '#4F92BA'
},
],
},
options: {
legend: {
display: false
},
scale: {
ticks: {
beginAtZero:true,
stepSize: 1,
}
},
tooltips: {
enabled: false
}
},
}
},
mounted () {
this.renderChart(this.data, this.options)
}
}
</script>
次に、これらのコンポーネントをApp.vueに追加。
<template>
<div style="overflow: hidden; margin-left: 5%; margin-top: 5%;">
<div style="float: left;">
<RaderChart />
</div>
<div style="float: left;">
<PieChart />
</div>
<div style="float: left;">
<BarChart />
</div>
</div>
</template>
<script>
import PieChart from './components/PieChart';
import RaderChart from './components/RaderChart';
import BarChart from './components/BarChart';
export default {
name: 'App',
components: {
RaderChart,
BarChart,
PieChart,
},
data() {
return {
};
}
};
</script>
このようにすれば、以下のようなグラフを簡単に描写することができます!
注意すべきことは、vue-chartがchart.jsの最新バージョンに対応していないことです。なので、chart.jsを導入するときは、バージョンを3.0未満にしてください。
npm install chart.js@2.60
参考にしたページはこちらです。