zoukankan      html  css  js  c++  java
  • vue-echarts数据可视化实现自适应屏幕进行缩放,这个我写了两篇文章,一个用了vue-echarts,一个直接用的charts ,我可真机智 啊~~~

    使用这个后可以实现屏幕自适应

    效果如下

     

    <template>
      <div style="100%;height:20rem" ref="res1">
        <!-- <v-chart :options="polar" style=" 100%;height:100%;" ref="echarts1" id="chart1"/> -->
        <v-chart
          :options="orgOptions"
          :auto-resize="true"
          style=" 100%;height:100%;"
          ref="echarts1"
          id="chart1"
        />
      </div>
    </template>
     
    <style>
    .echarts {
      width: 100%;
      height: 100%;
    }
    </style>
     
    <script>
    import ECharts from "vue-echarts";
    import "echarts/lib/chart/line";
    import "echarts/lib/component/polar";
    
    export default {
      components: {
        "v-chart": ECharts
      },
      data() {
        let data = [];
    
        for (let i = 0; i <= 360; i++) {
          let t = (i / 180) * Math.PI;
          let r = Math.sin(2 * t) * Math.cos(2 * t);
          data.push([r, i]);
        }
    
        return {
          orgOptions: {},
          polar: {
            title: {
              text: "极坐标双数值轴"
            },
            legend: {
              data: ["line"]
            },
            polar: {
              center: ["50%", "54%"]
            },
            tooltip: {
              trigger: "axis",
              axisPointer: {
                type: "cross"
              }
            },
            angleAxis: {
              type: "value",
              startAngle: 0
            },
            radiusAxis: {
              min: 0
            },
            series: [
              {
                coordinateSystem: "polar",
                name: "line",
                type: "line",
                showSymbol: false,
                data: data
              }
            ],
            animationDuration: 2000
          }
        };
      },
      mounted() {
        this.orgOptions = {
          xAxis: {
            type: "category",
            data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
          },
          yAxis: {
            type: "value"
          },
          series: [
            {
              data: [820, 932, 901, 934, 1290, 1330, 1320],
              type: "line",
              smooth: true
            }
          ]
        };
        // 以下两种方案均可
        window.addEventListener("resize", this.resizeTheChart);
        //  setInterval(() => {
        //     window.onresize = function () {
        //      if (this.$refs && this.$refs.echarts1 ) {
        //         this.resizeTheChart()
        //     }
        //     }
        //   }, 100)
      },
      methods: {
        resizeTheChart() {
          if (this.$refs && this.$refs.echarts1) {
            this.$refs.echarts1.resize();
          }
        }
      },
      beforeDestroy() {
        window.removeEventListener("resize", this.resizeTheChart);
      }
    };
    </script>

  • 相关阅读:
    HDU 2955 Robberies(01背包)
    HDU 2602 Bone Collector(01背包)
    HUST 1352 Repetitions of Substrings(字符串)
    HUST 1358 Uiwurerirexb jeqvad(模拟解密)
    HUST 1404 Hamming Distance(字符串)
    HDU 4520 小Q系列故事――最佳裁判(STL)
    HDU 2058 The sum problem(枚举)
    【破解】修改程序版权、添加弹窗
    HDU 1407 测试你是否和LTC水平一样高(枚举)
    HDU 1050 Moving Tables(贪心)
  • 原文地址:https://www.cnblogs.com/sugartang/p/12267523.html
Copyright © 2011-2022 走看看