xingbiezhanbi.vue 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <template>
  2. <view>
  3. <div class="chart1" ref="chart1"></div>
  4. </view>
  5. </template>
  6. <script>
  7. import echarts from "echarts";
  8. export default {
  9. props: {
  10. // beforeFan:{
  11. // type: Array,
  12. // // 定义是否必须传
  13. // required: false,
  14. // // 定义默认值
  15. // default: []
  16. // },
  17. },
  18. mounted() {
  19. this.getEchartData1()
  20. },
  21. data() {
  22. return {
  23. }
  24. },
  25. methods: {
  26. // 折线图
  27. getEchartData1() {
  28. const chart1 = this.$refs.chart1;
  29. var option = null;
  30. const myChart = this.$echarts.init(chart1);
  31. option = {
  32. tooltip: {
  33. trigger: 'item'
  34. },
  35. legend: {
  36. top: '5%',
  37. left: 'center'
  38. },
  39. color:['rgb(0, 157, 255)','rgb(34, 228, 255)'],
  40. series: [
  41. {
  42. name: 'Access From',
  43. type: 'pie',
  44. radius: ['50%', '70%'],
  45. avoidLabelOverlap: false,
  46. label: {
  47. show: true,
  48. // formatter(param) {
  49. // return param.name + ' (' + param.percent * 2 + '%)';
  50. // }
  51. },
  52. emphasis: {
  53. label: {
  54. show: true,
  55. fontSize: 40,
  56. fontWeight: 'bold'
  57. }
  58. },
  59. labelLine: {
  60. show: true
  61. },
  62. data: [
  63. { value: 1048, name: '男' },
  64. { value: 735, name: '女' }
  65. ]
  66. }
  67. ]
  68. };
  69. myChart.setOption(option);
  70. window.addEventListener("resize", function () {
  71. myChart.resize();
  72. });
  73. this.$on("hook:destroyed", () => {
  74. window.removeEventListener("resize", function () {
  75. chart1.resize();
  76. });
  77. });
  78. return option;
  79. },
  80. },
  81. }
  82. </script>
  83. <style>
  84. .chart1 {
  85. width: 100%;
  86. height: 100%;
  87. display: block;
  88. }
  89. </style>