meetingTimeDistributeChart.vue 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <template>
  2. <div class="myChart" ref="myChart" :style="{height: height+'px'}"></div>
  3. </template>
  4. <script>
  5. export default {
  6. data() {
  7. return {
  8. }
  9. },
  10. props: {
  11. height: Number
  12. },
  13. mounted() {
  14. this.initChart()
  15. },
  16. methods: {
  17. initChart() {
  18. let chart = this.$echarts.init(this.$refs.myChart)
  19. let option = {
  20. tooltip: {
  21. trigger: 'item'
  22. },
  23. legend: {
  24. right: 'right',
  25. top: '20%'
  26. },
  27. series: [
  28. {
  29. name: '时长分布',
  30. type: 'pie',
  31. radius: ['40%', '70%'],
  32. //avoidLabelOverlap: false,
  33. label: {
  34. show: false,
  35. formatter: params => {
  36. let name = params.name;
  37. return params.name
  38. },
  39. },
  40. emphasis: {
  41. label: {
  42. show: false,
  43. fontSize: 40,
  44. fontWeight: 'bold'
  45. }
  46. },
  47. labelLine: {
  48. show: false
  49. },
  50. data: [
  51. { value: 104, name: '30分钟' },
  52. { value: 73, name: '60分钟' },
  53. { value: 58, name: '90分钟' },
  54. { value: 46, name: '120分钟' },
  55. { value: 87, name: '150分钟' },
  56. { value: 66, name: '180分钟' },
  57. { value: 55, name: '210分钟' },
  58. { value: 30, name: '240分钟' },
  59. ]
  60. }
  61. ]
  62. };
  63. chart.setOption(option);
  64. }
  65. }
  66. }
  67. </script>
  68. <style lang="less" scoped>
  69. </style>