数据可视化大屏——基于echarts的开发经验分享

这篇具有很好参考价值的文章主要介绍了数据可视化大屏——基于echarts的开发经验分享。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

各位同事大家好!下面是我使用echarts中总结的一些个人经验,仅供参考。

echarts的能力、优劣等特点大家应该在技术选型阶段已经有所了解,这里主要分享使用、设计等经验。


一、最简单的步骤概述

echarts由无到有一共只需要四步:

  1. 引入echarts资源:支持模块化项目使用npm下载引入,老项目使用script方式链接引入,只是试用、演示且互联网环境,可以使用cdn方式引入。
  2. 创建一个div容器:echarts图表在页面中显示,需要有一个容器来盛放,告诉浏览器应该在哪渲染,注意这个容器一定是有宽、高的dom元素,否则有可能图表渲染成功,但是高度为0,导致无法显示。
  3. 初始化一个echarts实例:echarts所有的属性、方法都封装在我们引入的资源里,这个初始化的实例,就是一个带着所有属性和方法的对象,方便我们通过这个对象直接调用echarts提供的所有属性和方法。
  4. 设置echarts参数:获得echarts实例后,我们就能为它设置各种参数,来实现各种图表样式。

二、最简单的demo

引入官网的demo:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>ECharts</title>
    <!--第一步:引入echarts资源-->
    <script src="echarts.js"></script>  
  </head>
  <body>
    <!--第二步:创建定义了宽高的 DOM -->
    <div id="main" style="width: 600px;height:400px;"></div>
    <script type="text/javascript">
      // 第三步:初始化实例,并告诉实例应该渲染到哪个DOM
      var myChart = echarts.init(document.getElementById('main'));
      //第四步:指定图表的配置项和数据
      var option = {
        title: {
          text: 'ECharts 入门示例'
        },
        tooltip: {},
        legend: {
          data: ['销量']
        },
        xAxis: {
          data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
        },
        yAxis: {},
        series: [
          {
            name: '销量',
            type: 'bar',
            data: [5, 20, 36, 10, 10, 20]
          }
        ]
      };
      // 使用刚指定的配置项和数据显示图表。
      myChart.setOption(option);
    </script>
  </body>
</html>

三、工作流程

大屏开发工作一般要经历以下几个主要流程节点:

用户需求 -> 大屏设计 -> 美工优化-> 前端开发 -> 后端接口提供。

单纯的前端开发,主要对接人员是美工与后端,并在大屏设计节点,提供技术难度、可行性等参数。

3.1 与美工合作

美工主要负责大屏页面设计与交互设计等工作,输出为设计稿文件,前端开发依稿开发。这里要注意的是美工提供的动画设计,实现方案可选以下几种:

  1. 简单动画效果,使用纯CSS实现。例如:几何变化、大小变化、颜色变化、透明度变化等。
  2. 复杂动画效果,推荐使用lottie动画插件。由美工设计实现动画,输出动画json文件,前端负责渲染、控制动画。
  3. 另一种动画插件补充——svga:其实就是svg+animation,只不过不需要前端手动写svg动画,而是由美工生成svga文件,前端负责渲染svga文件。与lottie相比各有优劣。
  4. 复杂动画手动实现,推荐gsap插件。由flash动画插件原班人马开发,可以理解为flash的js实现。除了开发成本高,学习成本高,其它都是优点。

各位同事大部分是经验丰富的前辈,应该比我更清楚,项目中,能力最强大的插件,不一定是最适合的。所以对于要求一般的场景,止步于lottie动画即可。

3.2 与后端合作

数据化大屏与后端的交互主要是数据的交互。

样式+渲染+数据,即是大屏。样式由美工负责,数据由后端负责,渲染由前端负责。

echarts需要使用的数据格式,更多的是一维、二维的纯数组(并不是json数组)。而后端提供的,大多为json数组。这里就会产生一个问题,究竟应该由后端生成最终数据,前端负责拿过来做页面渲染的工作,还是应该由前端负责处理数据,得到自己需要的格式。

我这里建议由前端负责处理数据,理由如下:

  1. 这部分工作量不管放到前后端,对于团队而言,工作量是不变的,不存在放在哪端更方便的问题。
  2. 由后端处理数据,最终前端得到的数据是没有任何描述的数组,不利于前端阅读与后期优化维护。
  3. 同一接口的数据,可能会被使用到不同的echarts图表中,需要处理成不同格式的数组。由前端处理,利于一次请求,渲染成不同维度、不同场景的图表。
  4. 当数据处理产生分歧,应该遵守一个原则,那就是最大限度保持数据在描述对象原型时的完整性,增强可读性,以便于后期维护与优化。

3.3 前端具体在做什么

前面讲过,渲染echarts只需要四步,其实我们的主要工作连四步也没有,抛开机械化的工作内容,我们主要就是在做三件事:

  1. 通过设置options,设置echarts的样式。
  2. 在复杂图标中,处理后端数据得到echarts规定的数据格式,然后设置options中的data属性,渲染数据。
  3. 通过调用echarts实例提供的api,增强交互能力。

得益于echarts的强大,大部分常用的交互,例如动画、图例选择等,并不需要调用api,都可以通过设置options实现。所以我们大部分场景下,都只需要做前两件事,就能实现一个不错的图表。


总结

第一天开发,你需要知道四步完成一个报表。
第二天开发,你只需要去写一些循环和判断,处理后端提供的数据,然后到官网查询更多的options参数。
echarts官网使用频率最高页面:

  1. options配置项页面:https://echarts.apache.org/zh/option.html#title
  2. 基础的示例页面:https://echarts.apache.org/examples/zh/index.html,虽然基础,但是你能通过它们排列组合,支撑百分之九十九的场景。

无聊时可浏览页面:文章来源地址https://www.toymoban.com/news/detail-428058.html

  1. 快速上手页面:https://echarts.apache.org/handbook/zh/get-started/
  2. 术语速查页面:https://echarts.apache.org/zh/cheat-sheet.html

到了这里,关于数据可视化大屏——基于echarts的开发经验分享的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于HTML+CSS+Echarts大屏数据可视化集合共99套

    基于HTML/CSS/Echarts的会议展览、业务监控、风险预警、数据分析展示等多种展示需求可视化集合。 Java+Swing实现学生选课管理系统 Java+Swing实现学校教务管理系统 Java+Swing+sqlserver学生成绩管理系统 Java+Swing用户信息管理系统 Java+Swing实现的五子棋游戏 基于JavaSwing 银行管理系统

    2024年02月12日
    浏览(43)
  • 基于Echarts+Vue3的低代码可视化数据大屏拖拽设计器 vue拖拽设计大屏

    本产品是一款基于Vue3开发的可视化数据大屏拖拽设计器。提供一种简单易用的拖拽式数据可视化大屏设计方案,可帮助用户快速创建和定制自己的数据大屏,通过拖拽组件、调整布局和设置属性,实现数据展示的自由组合和个性化定制。 可视化编辑:通过拖拽组件、调整布

    2024年02月03日
    浏览(61)
  • springboot+echarts+mysql制作数据可视化大屏(滑动大屏)

     作者水平低,如有错误,恳请指正!谢谢!!!!! 项目简单,适合大学生参考 分类专栏还有其它的可视化博客哦! 专栏地址:https://blog.csdn.net/qq_55906442/category_11906804.html?spm=1001.2014.3001.5482 目录  一、数据源 二、所需工具 三、项目框架搭建 四、代码编写 温度堆叠折线图

    2024年02月11日
    浏览(42)
  • springboot+echarts +mysql制作数据可视化大屏(四图)

    作者水平低,如有错误,恳请指正!谢谢!!!!! 项目简单,适合大学生参考 分类专栏还有其它的可视化博客哦! 专栏地址:https://blog.csdn.net/qq_55906442/category_11906804.html?spm=1001.2014.3001.5482 成果展示: 1)可以使用自己的MySQL数据库; 2)使用我提供的数据。(要数据私信

    2024年02月13日
    浏览(44)
  • springboot+mybatis+echarts +mysql制作数据可视化大屏

    作者水平低,如有错误,恳请指正!谢谢!!!!! 目录 一、数据源 二、所需工具 三、项目框架搭建 3.1新建springboot项目 3.1.1进入官网 3.1.2创建项目 四、后端代码编写 4.1根据需求修改pom.xml 4.2配置数据源 4.3创建目录结构 4.4后端编写代码 4.4.1entity类 4.4.2dao 4.4.3service 4.4.4co

    2024年02月03日
    浏览(42)
  • Echarts实现可视化大屏

    手把手带你做出一个可视化大屏,轻松完成期末大作业。 关注公众号” Python爬虫与数据分析 “回复“ 可视化大屏 ”获取代码及数据 涉及到的技术:Echarts、HTML、css、JavaScript Echarts官网: https://echarts.apache.org/handbook/zh/concepts/axis/ 目录 1、echarts同时展示多幅图 2、使用css优化

    2024年02月09日
    浏览(97)
  • Flask+Echarts搭建全国疫情可视化大屏

    本项目是基于flask+echarts搭建的全国疫情追踪的可视化大屏,主要涉及到的技术有csv处理,flask框架,echarts图表。 最终效果如下: 我们先搭建一个基础的flask应用 接着,需要编写index.html页面和css样式代码(这里我就直接放最终的代码) 我们需要编写获取数据的接口,然后通过

    2024年02月16日
    浏览(44)
  • Flask配合Echarts写一个动态可视化大屏

    ch 后端:flask 可视化:echarts 前端:HTML+JavaScript+css 大屏拆分 案例项目中大屏可按版块进行拆解,会发现这里大屏主要由标题、折线图、柱状图、地图、滚动图和词云等组成,整体可切分为8个版块,如下: 下方为简单演示: HTML 我们整体布局前,先通过简单的案例了解前端布

    2024年02月07日
    浏览(47)
  • 大数据前端可视化大屏--前端开发之路

    从2016年开始接触可视化方向,一直想写一篇文章回顾一下这几年踩过的坑,接下来的这段时间里我会不定时的给大家分享一些可视化方面的经验和感悟,发出来跟大家一块分享一下、一起讨论讨论、共同学习进步。 这篇文章作为开端,之后会不定时的发出一系列的采坑记录

    2023年04月09日
    浏览(51)
  • 【11个适合毕设的Python可视化大屏】用pyecharts开发拖拽式可视化数据大屏

    你好,我是@马哥python说,一枚10年程序猿。 以下是我近期用Python开发的原创可视化数据分析大屏,非常适合毕设用,下面逐一展示:(以下是截图,实际上有动态交互效果哦) 以下大屏均为@马哥python说的个人原创,请勿转载。 以上大屏的开发技术流程如下: 1、爬虫采用

    2024年02月03日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包