vue数据可视化大屏(Vue 大屏自适应)

:暂无数据 2026-08-05 13:40:06 :2

vue数据可视化大屏(Vue 大屏自适应)

各位老铁们好,相信很多人对vue数据可视化大屏都不是特别的了解,因此呢,今天就来为大家分享下关于vue数据可视化大屏以及Vue 大屏自适应的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

Vue 大屏自适应

在实际业务中,我们常用图表来做数据统计,数据展示,数据可视化等比较直观的方式来达到一目了然的数据查看,但在大屏开发过程中,常会因为适配不同屏幕而感到困扰,下面我们来解决一下这个不算难题的难题

废话不多说,先上图



可以看到,我们通过等比例缩放的方式,实现了自适应,同时我们也为此发布了 vue 组件 v-scale-screen

v-scale-screen 使用css属性transform实现缩放效果,进行等比例计算,达到等比例缩放的效果,同时我们也支持铺满全屏,宽度等比,高度等比,等自适应方案

关于数据可视化的web前端

所谓数据可视化的web的前端其实从一个广义角度讲,跟传统网页开发没有什么区别。都是数据模板,组件化模块化也都是类似。前后端分离什么的,也是跟传统网页开发没有两样。现在node作为中间层来做分离方案是比较多(天猫的wormhole, 淘宝的midway), 数据处理交给java或者其他更适合的,node用来做密集IO和模板展现。(但是对于体量不大的应用,其实不需要考虑这么多)

要不要做成单页面应用提高体验取决于你的应用还得看场景,还有开发复杂度等因素(其实一开始不建议做成单应用,除非一开始就有完整的规划)。如果类似Google Analytics的程序,也不是整站都直接单应用,还是取决于场景。因为往往在网页中单应用的形式,往往复杂度都会高很多,处理的问题也会叠加,图表的性能问题,内存问题,持久性问题,过场的问题等等,都是需要考虑的。

之前我做过一个项目,其实都没用组件库(当然后来维护问题会很多,也不够优雅)。但是对于构建组件库,无论是Polymer、react感觉都可以,react这么火,但是还是选自己比较熟悉的更好。

前端框架上最好还是mvvm的框架,vue, angular, react都很不错,用过vue,现在更倾向于使用react。图表展示,是更重数据交互的,所以肯定是开发以数据驱动的方式来。图表库来说,echarts是比较牛逼的了,底层是canvas,百度开源的。highcharts是svg的,老牌牛逼图表库,商业使用需要授权。之前我们用的是kcharts(阿里自己开发)。现在更倾向于百度Echarts,从图表展现和用例丰富上,可以减少很多自己开发的工作量。

VUE的element-ui+echarts视图可视化

《template》

  《div class="bar-chart"》

   《div id="main" ref="main"》
   《/div》

  《/div》

《/template》

《script》

/* 引入echarts组件 */

import * as echarts from ’echarts’;

export default {

 name:"BarChart",

 mounted(){

 // 基于准备好的dom,初始化echarts实例

 /* var myChart = echarts.init(document.getElementById(’main’)); */

 var myChart = echarts.init(this.$refs.main);

 // 绘制图表

myChart.setOption({

  title: {

    text: ’柱状图’

  },

  tooltip: {},

  xAxis: {

      axisLabel: {

          /* 显示所有的x轴的数据 */

          interval: 0,

          /* 放不下的倾斜角度 */

          rotate: 80,

          /* 数据距离刻度线的距离 */

          margin: 15,

        },

    /* data: */

  },

  yAxis: {},

  series: [

    {

      name: ’销量’,

      type: ’bar’,

      /* data: */

      data:[{

          value:5,

          name:’衬衫’,

          /* 给某一柱子单独设置颜色 */

          itemStyle:{

              color:{

              type:"linear",

              x:0,

              y:0,

              x2:0,

              y2:1,

              colorStops:[

                  {

                      offset:0,

                      color:"red"//柱子最上面是红色

                  },{

                      offset:1,

                      color:’blue’//柱子最下面颜色蓝色

                  }

              ],

              global:false

          },

        },

      },

      {

          value:36,

          name:’雪纺衫’,

          itemStyle:{

              color:{

              type:"linear",

              x:0,

              y:0,

              x2:0,

              y2:1,

              colorStops:[

                  {

                      offset:0,

                      color:"pink"//柱子最上面是粉色

                  },{

                      offset:1,

                      color:’yellow’//柱子最下面颜色黄色

                  }

              ],

              global:false

          },

        },

      },{

          value:10,

          name:’裤子’

      },{

          value:10,

          name:’高跟鞋’

      },{

          value:20,

          name:’袜子’

      }

      ]

    }

  ]

});

window.BarChart = myChart

 }

}

《/script》

《style scoped lang="scss"》

#main{

    height: 300px;

}

《/style》

《template》

  《div class="line-chart"》

   《div id="main" ref="main"》
   《/div》

  《/div》

《/template》

《script》

/* 引入echarts组件 */

import * as echarts from ’echarts’;

export default {

 name:"LineChart",

 mounted(){

 // 基于准备好的dom,初始化echarts实例

 /* var myChart = echarts.init(document.getElementById(’main’)); */

 var myChart = echarts.init(this.$refs.main);

 // 绘制图表

myChart.setOption({

  title: {

    text: ’折线图’

  },

  tooltip: {},

  xAxis: {

      axisLabel: {

          /* 显示所有的x轴的数据 */

          interval: 0,

          /* 放不下的倾斜角度 */

          rotate: 0,

          /* 数据距离刻度线的距离 */

          margin: 15,

        },

    data:

  },

  yAxis: {},

  series: [

    {

      name: ’销量’,

      type: ’line’,

      data:

    }

  ]

});

window.LineChart = myChart

 }

}

《/script》

《style scoped lang="scss"》

#main{

    height: 300px;

}

《/style》

《template》

  《div class="pie-chart"》

   《div id="main" ref="main"》
   《/div》

  《/div》

《/template》

《script》

/* 引入echarts组件 */

import * as echarts from ’echarts’;

export default {

 name:"PieChart",

 mounted(){

 // 基于准备好的dom,初始化echarts实例

 /* var myChart = echarts.init(document.getElementById(’main’)); */

 var myChart = echarts.init(this.$refs.main);

 /* ref 是dom本身不是id */

 // 绘制图表

myChart.setOption({

  title: {

    text: ’饼图’

  },

  /* grid:{

  width:’50%’,

  height:’50%’

  }, */

  /* radius:’50%’, */

  tooltip: {},

  xAxis: {

      show:false,

    /* data: */

  },

  yAxis: {

      show:false,

  },

  series: [

    {

      name: ’销量’,

      type: ’pie’,

      /* data: */

      data:[{

          value:5,

          name:’衬衫’

      },{

          value:20,

          name:’羊毛衫’

      },{

          value:36,

          name:’雪纺衫’

      },{

          value:10,

          name:’裤子’

      },{

          value:10,

          name:’高跟鞋’

      },{

          value:20,

          name:’袜子’

      }

      ]

    }

  ]

});

window.PieChart = myChart

 }

}

《/script》

《style scoped lang="scss"》

#main{

    height: 300px;

    width: 250px;

}

《/style》

《template》

  《div》

    《!-- el-row 表示一行 一行分成了24份

    :gutter="12"  表示间隔的大小为12份--》

    《!-- el-col 表示一列  :span="8"表示一列占据一行8份的大小

    3个:span="8" 表示占据三行--》

     《el-row :gutter="5"》

  《el-col :span="8"》

    《!-- el-card shadow="always" 卡片阴影效果一直显示 --》

    《!-- shadow="hover" 卡片阴影效果手摸上去显示 --》

    《!-- shadow="never" 阴影效果永不显示--》

    《el-card shadow="always"》

      《bar-chart》《/bar-chart》

    《/el-card》

  《/el-col》

  《el-col :span="8"》

    《el-card shadow="always"》

      《line-chart》《/line-chart》

    《/el-card》

  《/el-col》

  《el-col :span="8"》

    《el-card shadow="always"》

      《pie-chart /》

    《/el-card》

  《/el-col》

  《/el-row》
  《el-row :gutter="10" style="margin-top:15px"》

  《el-col :span="24"》

    《el-card shadow="always"》

      中国地图

    《/el-card》

  《/el-col》
《/el-row》

  《/div》

《/template》

《script》

import BarChart from ’@/components/BarChart.vue’

import LineChart from ’@/components/LineChart.vue’

import PieChart from ’@/components/PieChart.vue’

export default {

  components:{

     BarChart,

     LineChart,

     PieChart

  },

  mounted(){

    /* 页面尺寸一边画 就重新 resize 渲染图标*/

    window.onresize = function (){

        window.BarChart.resize();

      window.LineChart.resize();

      window.PieChart.resize();

    }

  }

};

《/script》

《style》

《/style》

关于vue数据可视化大屏,Vue 大屏自适应的介绍到此结束,希望对大家有所帮助。

vue数据可视化大屏(Vue 大屏自适应)

本文编辑:admin

更多文章:


sqlite格式的视频怎么打开(.sqlite是什么文件,用什么工具打开)

sqlite格式的视频怎么打开(.sqlite是什么文件,用什么工具打开)

大家好,今天小编来为大家解答以下的问题,关于sqlite格式的视频怎么打开,.sqlite是什么文件,用什么工具打开这个很多人还不知道,现在让我们一起来看看吧!

2026年11月7日 05:30

element ui面试题(用element-ui ELDialog和ELTable遇见的坑)

element ui面试题(用element-ui ELDialog和ELTable遇见的坑)

各位老铁们好,相信很多人对element ui面试题都不是特别的了解,因此呢,今天就来为大家分享下关于element ui面试题以及用element-ui ELDialog和ELTable遇见的坑的问题知识,还望可以帮助大家,解决大家的一些

2026年11月7日 04:40

blob视频下载器(blob链接的图片如何调用下载)

blob视频下载器(blob链接的图片如何调用下载)

各位老铁们,大家好,今天由我来为大家分享blob视频下载器,以及blob链接的图片如何调用下载的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年11月7日 03:30

中文自动翻译成英语的输入法(有没有一种输入法能将打出来的中文自动变成英文)

中文自动翻译成英语的输入法(有没有一种输入法能将打出来的中文自动变成英文)

各位老铁们,大家好,今天由我来为大家分享中文自动翻译成英语的输入法,以及有没有一种输入法能将打出来的中文自动变成英文的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们

2026年11月7日 02:10

equals to(为什么有些英文句子要用的是“equals to that of” 这个that和of之间还可以加名词吗)

equals to(为什么有些英文句子要用的是“equals to that of” 这个that和of之间还可以加名词吗)

其实equals to的问题并不复杂,但是又很多的朋友都不太了解为什么有些英文句子要用的是“equals to that of” 这个that和of之间还可以加名词吗,因此呢,今天小编就来为大家分享equals to的一些知识,希望可以帮助

2026年11月7日 01:50

default values(电脑开机后出现all settings was reset to default values.)

default values(电脑开机后出现all settings was reset to default values.)

其实default values的问题并不复杂,但是又很多的朋友都不太了解电脑开机后出现all settings was reset to default values.,因此呢,今天小编就来为大家分享default values的一些知识

2026年11月7日 01:20

structured reviewing翻译(软件测试的英文翻译)

structured reviewing翻译(软件测试的英文翻译)

大家好,关于structured reviewing翻译很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于软件测试的英文翻译的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位

2026年11月7日 00:50

网站模板下载好以后(动态网站模板下载后怎么用)

网站模板下载好以后(动态网站模板下载后怎么用)

“网站模板下载好以后”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看网站模板下载好以后(动态网站模板下载后怎么用)!

2026年11月6日 22:50

选项卡的作用(excel中的“数字”选项卡的功能)

选项卡的作用(excel中的“数字”选项卡的功能)

本篇文章给大家谈谈选项卡的作用,以及excel中的“数字”选项卡的功能对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年11月6日 22:20

vb手机版下载(有谁可以告诉我vb在哪里下载)

vb手机版下载(有谁可以告诉我vb在哪里下载)

“vb手机版下载”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看vb手机版下载(有谁可以告诉我vb在哪里下载)!

2026年11月6日 21:50

最近更新

热门文章

新站如何通过网站维护提升SEO排名
2026-10-13 20:56:21 浏览:6
标签列表