1
yxh
2023-07-20 935c201bdcf4adde998d46893dd0fa3eddf400bb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<template>
  <div class="">
    <Echart
      ref="organnumchart"
      :id="id"
      :options="options"
      :height="height"
      :width="width"
    ></Echart>
  </div>
</template>
 
<script>
import Echart from "@/common/echart";
 
export default {
  name: "organnumchart",
  components: {
    Echart,
  },
  props: {
    id: {
      type: String,
      default: "organnumcgart",
    },
    width: {
      type: String,
      default: "100%",
    },
    height: {
      type: String,
      default: "600px",
    },
    cdata: {
      type: Array,
      default: () => [],
    },
  },
  data() {
    return {
      options: {},
    };
  },
  created() {},
  mounted() {},
  methods: {
    resetOption(newData) {
      let organNameArr = [];
      let organeNumArr = [];
      for (let i = 0; i < newData.length; i++) {
        organNameArr.push(newData[i].name);
        organeNumArr.push(newData[i].value);
      }
      this.options = {
        title: {
          text: "获取器官和组织的数量",
        },
        tooltip: {
          trigger: "axis",
          axisPointer: {
            type: "shadow",
          },
        },
        grid: {
          top: "12%",
          left: "0",
          right: "0",
          bottom: "5%",
          containLabel: true,
        },
        xAxis: {
          type: "category",
          data: organNameArr,
          axisLine: {
            show: false,
          },
          axisLabel: {
            textStyle: {
              color: "#566f94", //更改坐标轴文字颜色
              fontSize: 12, //更改坐标轴文字大小
            },
            interval: 0,
          },
        },
        yAxis: {
          type: "value",
          // boundaryGap: [0, 0.01],
          show: false,
        },
        series: [
          {
            name: "器官数量",
            type: "bar",
            //barWidth: 20, //柱图宽度
            itemStyle: {
              normal: {
                label: {
                  show: true, //开启显示
                  position: "top", //在上方显示
                  textStyle: {
                    //数值样式
                    color: "#566f94",
                    fontSize: 14,
                  },
                },
              },
            },
            data: organeNumArr,
          },
        ],
      };
    },
  },
  computed: {},
  watch: {
    cdata: {
      handler(newData) {
        this.resetOption(newData);
      },
      immediate: true,
      deep: true,
    },
  },
};
</script>
 
<style lang="scss" scoped>
</style>