<template>
  <div ref="chart" style="width: 100%; height: 210px"></div>
</template>

<script setup >
import { onMounted, reactive, ref } from "vue";
// 局部引入echarts核心模块
import * as echarts from "echarts";

const chart = ref(); // 创建DOM引用

let option = {
  tooltip: {
    trigger: "axis",
    padding: [20, 10, 20, 10],
    formatter: "{b0}<br />{a1}:{c1} ",
  },
  grid: {
    top: "5%",
    left: "1%",
    right: "10%",
    bottom: "3%",
    containLabel: true,
  },

  xAxis: {
    type: "category",
    // boundaryGap: false,
    data: ["1月", "2月", "3月", "4月", "5月"],
    // splitArea: {
    //   show: true,
    //   interval: '10',
    //   areaStyle: {
    //     color: ["rgba(255, 255, 255, 0.10)"],
    //     width:10,
    //   },
    // },
    axisLabel: {
      //坐标轴刻度标签的相关设置
      textStyle: {
        color: "#ccc",
      },
    },
  },
  yAxis: {
    type: "value",
    splitLine: {
      show: true,
      lineStyle: {
        color: "rgba(226, 226, 226, 0.3)",
        width: 1,
      },
    },
    axisLabel: {
      //坐标轴刻度标签的相关设置
      textStyle: {
        color: "#ccc",
      },
    },
  },
  series: [
    {
      name: "背景",
      type: "bar",
      data: [0, 0, 0, 0, 0],
      showBackground: true,
      backgroundStyle: {
        color: "rgba(180, 180, 180, 0.2)",
      },
    },
    {
      name: "糖尿病人数",
      type: "line",
      stack: "Total",
      symbol: "emptyCircle",

      symbolSize: 10,
      itemStyle: {
        borderColor: "#E8FF00",
        borderWidth: 1,
        color: "#E8FF00",
      },

      areaStyle: {
        color: "#F4F65B",
        normal: {
          //线性渐变，前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’，则该四个值是绝对像素位置。
          color: new echarts.graphic.LinearGradient(
            0,
            0,
            0,
            1,
            [
              {
                offset: 0,
                // color: 'RGBA(184, 204, 241, 1)'
                color: 'rgba(255, 234, 90, 0.50)',
              },
              {
                offset: 1,
                color: "rgba(255, 234, 90, 0)",
              },
            ],
            false
          ),
          shadowBlur: 0, //shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。
        },
      },
      data: [120, 182, 191, 234, 200],
    },
  ],
};

// 使用生命钩子
onMounted(() => {
  // 基于准备好的dom，初始化echarts实例
  // var myChart = echarts.init(document.getElementById('main'));
  // Vue3中： 需要引入
  var myChart = echarts.init(chart.value);

  // init(); // vue3.2没有this
  // 使用刚指定的配置项和数据显示图表。
  myChart.setOption(option);

  // 单图表响应式: 跟随浏览器大小改变
  //   window.addEventListener("resize", () => {
  //     myChart.resize();
  //   });
});
</script>

<style scoped>
</style>