mirror of
https://github.com/KevinMidboe/vue-chartjs.git
synced 2025-12-08 20:48:45 +00:00
✨ Add Polar Area Chart component
This commit is contained in:
@@ -90,12 +90,16 @@ export default {
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
### Polar Area
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Todo
|
## Todo
|
||||||
|
|
||||||
- [x] ~~Implement Bar Chart~~
|
- [x] ~~Implement Bar Chart~~
|
||||||
- [x] ~~Implement Line Chart~~
|
- [x] ~~Implement Line Chart~~
|
||||||
- [x] ~~Implement Radar Chart~~
|
- [x] ~~Implement Radar Chart~~
|
||||||
- [ ] Implement Polar Area Chart
|
- [x] ~~Implement Polar Area Chart~~
|
||||||
- [x] ~~Implement Pie Chart~~
|
- [x] ~~Implement Pie Chart~~
|
||||||
- [x] ~~Implement Doughnut Chart~~
|
- [x] ~~Implement Doughnut Chart~~
|
||||||
- [ ] Make npm module
|
- [ ] Make npm module
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
<doughnut-example></doughnut-example>
|
<doughnut-example></doughnut-example>
|
||||||
<pie-example></pie-example>
|
<pie-example></pie-example>
|
||||||
<radar-example></radar-example>
|
<radar-example></radar-example>
|
||||||
|
<polar-area-example></polar-area-example>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -14,9 +15,10 @@
|
|||||||
import DoughnutExample from './examples/DoughnutExample'
|
import DoughnutExample from './examples/DoughnutExample'
|
||||||
import PieExample from './examples/PieExample'
|
import PieExample from './examples/PieExample'
|
||||||
import RadarExample from './examples/RadarExample'
|
import RadarExample from './examples/RadarExample'
|
||||||
|
import PolarAreaExample from './examples/PolarAreaExample'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: { BarExample, LineExample, DoughnutExample, PieExample, RadarExample }
|
components: { BarExample, LineExample, DoughnutExample, PieExample, RadarExample, PolarAreaExample }
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
41
src/BaseCharts/PolarArea.js
Normal file
41
src/BaseCharts/PolarArea.js
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
import Vue from 'vue'
|
||||||
|
import Chart from 'chart.js'
|
||||||
|
|
||||||
|
export default Vue.extend({
|
||||||
|
template: `
|
||||||
|
<div>
|
||||||
|
<canvas id="polar-chart" width=width height=height v-el:canvas></canvas>
|
||||||
|
</div>
|
||||||
|
`,
|
||||||
|
|
||||||
|
props: {
|
||||||
|
width: {
|
||||||
|
default: 400,
|
||||||
|
type: Number
|
||||||
|
},
|
||||||
|
height: {
|
||||||
|
default: 400,
|
||||||
|
type: Number
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
options: {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
render (data, options = this.options) {
|
||||||
|
const chart = new Chart(
|
||||||
|
this.$els.canvas.getContext('2d'), {
|
||||||
|
type: 'polarArea',
|
||||||
|
data: data,
|
||||||
|
options: options
|
||||||
|
}
|
||||||
|
)
|
||||||
|
chart.generateLegend()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
BIN
src/assets/polar.png
Normal file
BIN
src/assets/polar.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 140 KiB |
29
src/examples/PolarAreaExample.js
Normal file
29
src/examples/PolarAreaExample.js
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
import PolarAreaChart from '../BaseCharts/PolarArea'
|
||||||
|
|
||||||
|
export default PolarAreaChart.extend({
|
||||||
|
ready () {
|
||||||
|
this.render({
|
||||||
|
labels: ['Eating', 'Drinking', 'Sleeping', 'Designing', 'Coding', 'Cycling', 'Running'],
|
||||||
|
datasets: [
|
||||||
|
{
|
||||||
|
label: 'My First dataset',
|
||||||
|
backgroundColor: 'rgba(179,181,198,0.2)',
|
||||||
|
pointBackgroundColor: 'rgba(179,181,198,1)',
|
||||||
|
pointBorderColor: '#fff',
|
||||||
|
pointHoverBackgroundColor: '#fff',
|
||||||
|
pointHoverBorderColor: 'rgba(179,181,198,1)',
|
||||||
|
data: [65, 59, 90, 81, 56, 55, 40]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'My Second dataset',
|
||||||
|
backgroundColor: 'rgba(255,99,132,0.2)',
|
||||||
|
pointBackgroundColor: 'rgba(255,99,132,1)',
|
||||||
|
pointBorderColor: '#fff',
|
||||||
|
pointHoverBackgroundColor: '#fff',
|
||||||
|
pointHoverBorderColor: 'rgba(255,99,132,1)',
|
||||||
|
data: [28, 48, 40, 19, 96, 27, 100]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user