基于vue + echarts 的大数据平台监控模板

基于vue + echarts 的大数据平台监控模板,第1张

左下角词云为3D动态旋转词云

其他模块皆直接对接口即可

附带下载地址:仿联想大数据监控评测平台-Webpack文档类资源-CSDN下载

即下即用

  init() {
      const tags = document.querySelectorAll(".tag");
      const wrap = document.querySelector(".tag-wrap");

      let len = tags.length;
      let valueList = Array.from(new Set(this.data.map(i => i.value)));
      let min = Math.min(...valueList);
      CX = wrap.offsetWidth / 2;
      CY = wrap.offsetHeight / 2;

      tags.forEach((i, index) => {
        let fontScale = this.data[index].value / min * 16;
        i.style.fontSize = fontScale > 30 ? '30px' : fontScale + 'px';
        i.style.color = colors[parseInt(Math.random() * 10)];

        let k = -1 + (2 * (index + 1) - 1) / len;
        let a = Math.acos(k);
        let b = a * Math.sqrt(len * Math.PI);
        let x = RADIUS * 1.15 * Math.sin(a) * Math.cos(b);
        let y = RADIUS * Math.sin(a) * Math.sin(b);
        let z = RADIUS * Math.cos(a);
        let tag = new Tag(i, x, y, z);
        this.tagList.push(tag);
      });
    },
    rotateX() {
      let angleX = Math.PI / 500;
      let cos = Math.cos(angleX);
      let sin = Math.sin(angleX);
      this.tagList.forEach(i => {
        let y1 = i.y * cos - i.z * sin;
        let z1 = i.z * cos + i.y * sin;
        i.y = y1;
        i.z = z1;
      });
    },
    rotateY() {
      let angleY = Math.PI / 500;
      let cos = Math.cos(angleY);
      let sin = Math.sin(angleY);
      this.tagList.forEach(i => {
        let x1 = i.x * cos - i.z * sin;
        let z1 = i.z * cos + i.x * sin;
        i.x = x1;
        i.z = z1;
      });
    },

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1298957.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存