Feat: first doughnut chart with chartjs

This commit is contained in:
Bertrand Benjamin 2018-12-02 16:43:23 +01:00
parent b61d465a24
commit 0c2b8159d1
3 changed files with 75 additions and 1 deletions

View File

@ -0,0 +1,19 @@
<script>
import { Doughnut } from 'vue-chartjs'
export default {
name: 'pie',
extends: Doughnut,
props: ['chartdata', 'options'],
mounted () {
this.renderChart(this.chartdata, this.options)
}
}
</script>
<style scope>
#doughnut-chart {
width: 100px;
height: 100px;
}
</style>

View File

@ -0,0 +1,51 @@
<template>
<div class="container">
<pie :chartdata="data" :options="options"></pie>
</div>
</template>
<script>
import pie from './charjs_donut'
export default {
name: 'postesComparison',
components: {
'pie': pie
},
data () {
return {
data: {
labels: ["Africa", "Asia", "Europe", "Latin America", "North America"],
datasets: [
{
label: "Population (millions)",
backgroundColor: ["#3e95cd", "#8e5ea2","#3cba9f","#e8c3b9","#c45850"],
data: [2478,5267,734,784,433]
}
]
},
options: {
responsive: true,
maintainAspectRatio: false,
title: {
display: true,
text: 'Predicted world population (millions) in 2050'
}
}
}
},
computed: {
},
methods: {
}
}
</script>
<style scope>
.container {
position: relative;
height: 40vh;
width: 80vw;
}
</style>

View File

@ -21,6 +21,8 @@
<box @click.native="set_poste('other')" postename="other"></box> <box @click.native="set_poste('other')" postename="other"></box>
</b-card-group> </b-card-group>
<postes-comparison></postes-comparison>
<b-table striped hover :items="filtered_rows(poste.words, poste.invert)" :fields='fields'></b-table> <b-table striped hover :items="filtered_rows(poste.words, poste.invert)" :fields='fields'></b-table>
</div> </div>
</template> </template>
@ -28,11 +30,13 @@
<script> <script>
import { mapGetters, mapActions } from 'vuex' import { mapGetters, mapActions } from 'vuex'
import box from '../components/box' import box from '../components/box'
import postesComparison from '../components/postes_comparison'
export default { export default {
name: 'home', name: 'home',
components: { components: {
box: box box: box,
postesComparison: postesComparison
}, },
data () { data () {
return { return {