博客
关于我
echarts 基本图表开发小结
阅读量:571 次
发布时间:2019-03-11

本文共 3372 字,大约阅读时间需要 11 分钟。

echarts 基础使用及实践案例

本篇博客主要记录了在项目中使用 ECharts 进行数据可视化的经历,内容将围绕 ECharts 的安装配置、基于 Vue 的实现以及自适应图表展示等主题展开,供后续开发参考。


echarts 官方入门案例

ECharts 是一个强大的数据可视化工具,其官方文档提供了详细的入门案例,值得参考。以下是常用的操作步骤:

  • 引入 ECharts 文件:可以通过 CDN 方式加载 echarts.min.js 文件,或者在项目中手动引入。
  • 准备 DOM 容器:在 HTML 页面中创建一个具有固定宽高的 div 元素,用于加载 ECharts 实例。
  • 初始化 ECharts 实例:使用指定的 DOM 元素初始化 ECharts 实例。
  • 配置图表参数:根据需求设置图表的标题、提示信息、图例位置等。
  • 渲染图表:将配置项传递给 ECharts 实例,完成图表展示。
  • 以下是典型的 HTML 和 JavaScript 代码示例:


    个人 Demo 实现(窗口自适应)

    在实际项目中,图表的自适应能力显得尤为重要。通过自定义 JavaScript 模块,可以实现窗口大小变化时图表自动调整的功能。以下是实现 self-adaptive 的代码示例:

    // echarts 自适应 JSvar EleResize = {    // ...(完整自适应逻辑,建议参考原文获取完整代码)`;// 在 Vue 组件中引入使用import { EleResize } from '../util/esresize';// 在 HTML 中添加容器
    // 在 CSS 中设置#ywlxtjChart { width: 100%; height: 320px;}// 在 JS 中使用export default { data() { return { // ... } }, mounted() { this.itemQuantityApi(); }, methods: { itemQuantityApi() { // 内容较多,建议查看完整代码 // ... }, realstate(data) { // 数据处理并渲染 // ... } } // ...}

    多图表切换渲染 Demo

    在实际场景中,通常需要多个图表之间切换渲染,尤其是在无数据情况下需要显示提示信息。以下是实现的代码逻辑:

  • 切换事件处理:通过 v-for 循环生成图表标题,实现切换显示不同的图表。
  • 数据无效提示:当数据为空时,显示提示文本。
  • ECharts 实例销毁与重建:通过 destroy() 方法销毁现有图表实例,重新初始化并渲染新的图表。
  • 自适应容器:通过自定义模块实现图表容器的自适应调整。
  • 完整代码示例如下:

    import echarts from 'echarts';import { EleResize } from '../util/esresize';export default {    data() {        return {            bdcsxbjlTabItem: ['本周', '本月', '本年'],            bdcsxbjlCur: 1,            bdcsxbjlChart: '',            noDataTipText: null        };    },    mounted() {        this.itemQuantityApi();    },    methods: {        itemQuantityApi() {            this.Axios.get(...)                .then(res => {                    if (res.data.length === 0) {                        this.bdcsxbjlChart.dispose();                        // 设置提示文本                        if (this.bdcsxbjlCur === 0) {                            this.noDataTipText = '本周暂无不动产事项办理';                        } else if (this.bdcsxbjlCur === 1) {                            this.noDataTipText = '本月暂无不动产事项办理';                        } else {                            this.noDataTipText = '本年暂无不动产事项办理';                        }                    } else {                        this.noDataTipText = null;                        setTimeout(() => {                            this.bdcsxbjlChart = echarts.init(document.getElementById('realestate'));                            this.realestate(res.data);                        }, 0);                    }                });        },        realstate(data) {            const option = {                // ...配置项            };            this.bdcsxbjlChart.setOption(option);            // 自适应设置            let resizeDiv = document.getElementById('realestate');            let listener = () => {                this.bdcsxbjlChart.resize();            };            EleResize.on(resizeDiv, listener);        }    }};

    ECharts 配置与注意事项

  • DOM ContainerSetup:确保容器 div 元素具有固定宽高,并且其 CSS 样式设为 display: block,避免子元素被隐藏。
  • 版本兼容性:注意 ECharts 版本的更新,部分配置项可能因版本更新而发生变化,需及时参考官方文档。
  • 数据初始化:确保数据处理结果与 ECharts 图表类型相匹配,如柱状图适用数据数组。
  • 自适应优化:通过自定义模块实现图表与容器窗口同步调整,提升用户体验。

  • 安装配置

  • 安装 ECharts
  • cnpm install echarts
    1. 自适应容器 JS
    2. // 未要自定义优化后的脚本...

      关于本文

      本文通过个人实践总结了 ECharts 的基础使用方法与一些实用技巧,内容涵盖了 ECharts 的安装、配置、多图表切换展示以及自适应图表实现等方面。整篇文章旨在提供实用价值,同时也对 ECharts 使用过程中的注意事项进行了总结,希望对其他开发者有所帮助。

    转载地址:http://wrytz.baihongyu.com/

    你可能感兴趣的文章
    Java 回调机制
    查看>>
    7、回归和特征选择
    查看>>
    测试tensorflow是否安装成功 出现 SyntaxError: invalid syntax的错误
    查看>>
    pycharm使用(新建工程、字体修改、调试)
    查看>>
    什么是Numpy、Numpy教程
    查看>>
    Python学习笔记——元组
    查看>>
    异常声音检测
    查看>>
    PCB学习笔记——AD17如何添加新的封装
    查看>>
    numpy版本问题
    查看>>
    打造自己的图像识别模型1— 数据准备-将图像数据转为tfrecord形式——【何之源-21个项目玩转深度学习】
    查看>>
    无法打开文件“opencv_world330d.lib”的解决办法
    查看>>
    maven项目出现 Missing artifact jdk.tools:jdk.tools:jar:1.7
    查看>>
    maven项目通过Eclipse上传到svn上面,再导入到本地出现指定的类找不到的问题
    查看>>
    maven 项目部署到tomcat下 没有class文件
    查看>>
    算法训练 未名湖边的烦恼(递归,递推)
    查看>>
    算法训练 完数(循环,数学知识)
    查看>>
    什么是接口
    查看>>
    2020版nodejs12.18.3安装配置教程
    查看>>
    iview组件库中,Form组件里的Input,无法正确绑定on-enter事件
    查看>>
    记录-基于springboot+vue.js实现的超大文件分片极速上传及流式下载
    查看>>