echart节点编辑图

[开源]基于 Vue、Datav、Echart 框架的数据大屏项目,可自由替换 JNPF数据大屏一个基于 Vue、Datav、Echart 框架的 " 数据大屏项目 ",通过 Vue 组件实现数据动态刷新渲染,内部图表可实现自由替换,部分图表使用 DataV 自带组件,可进行自主更改。JNPF数据大屏有如下几个特点:1、全程可视化编辑操作,自由布局页面,针对不同控件进行内容设置和数据绑定,所见即所得的实现大屏可视化页面开发;2、支持静态数据,数据库和 API 等多种数据源接入数据,通过配置可以动态实时更新; 阅读详情

var style_ul = "padding:0px;margin:0px;border: 1px solid #ccc;background-color: #fff;position: absolute;left: 0px;top: 0px;z-index: 2;display: none;";
var style_li = "list-style:none;padding: 5px; cursor: pointer; padding: 5px 20px;margin:0px;";
var style_li_hover = style_li + "background-color: #00A0E9; color: #fff;";
var refreshGirdData;
//右键菜单容器
var menubox = $("<div class='echartboxMenu' style='" + style_ul + "'><div style='text-align:center;background:#ccc'></div><ul style='margin:0px;padding:0px;'></ul></div>").appendTo($(document.body));
// 指定图表的配置项和数据
var option = {
    title: {
        text: '流程示例'
    },
    //tooltip: {},
    series: [{
        type: 'graph',
        layout: 'none',

        label: {
            show: true
        },
        edgeSymbol: ['circle', 'arrow'],
        symbolSize: (value, params) => {
            if (params.data.check) {
                return 80;
            } else {
                return 50;
            }
        },
        edgeLabel: {
            fontSize: 20
        },
        data: [{
            id: "start",
            name: '工艺开始',
            value: 30,
            check: false,
            x: 50,
            y: 100
        }],
        links: [],
        lineStyle: {
            opacity: 0.9,
            width: 3,
            curveness: 0
        }
    }]
};
var myChart = echarts.init(document.getElementById('main'));
var bootstrap = function ($, learun) {
    "use strict";
    var page = {
        bind: function () {

            // 使用刚指定的配置项和数据显示图表。
            myChart.setOption(option);
            myChart.on("mousedown", function (e) {
                if (e.event.event.button === 0) { //左键单击事件
                    if (e.dataType == "node") { //点击节点 显示人员角色信息  						 
                        var id = e.data.id;
                        var nodesOption = option.series[0].data; //获得所有节点数组
                        var linksOption = option.series[0].links; //获得所有连接的数组
                        for (let index in nodesOption) {
                            if (nodesOption[index].id == id) {
                                if (nodesOption[index].check) {
                                    nodesOption[index].check = false;
                                } else {
                                    nodesOption[index].check = true;
                                }

                            }
                        };
                        myChart.setOption({
                            series: [{
                                data: nodesOption,
                                links: linksOption
                            }]
                        });

                    }
                }
                if (e.event.event.button === 2 && e.dataType == "node") { //右键node点击事件
                    if (e.data.check) {

                        var state = 0;
                        var id = e.data.id;
                        var tag_id;
                        var nodesOption = option.series[0].data; //获得所有节点数组
                        for (let index in nodesOption) {
                            if (nodesOption[index].id != id && nodesOption[index].check) {
                                state++;
                                tag_id = nodesOption[index].id;

                            }
                        };
                        if (state == 1) {
                            page.showMenu(e, [{
                                "name": "删除节点",
                                "fn": function () {
                                    var id = e.data.id;
                                    page.deleteNode(id);

                                }
                            }, {
                                "name": "添加节点",
                                "fn": function () {
                                    page.addNodenew(e);
                                }
                            }, {
                                "name": "合并节点",
                                "fn": function () {
                                    var linkobj = {
                                        source: tag_id,
                                        target: id,
                                        symbolSize: [5, 20]
                                    }
                                    var nodesOption = option.series[0].data; //获得所有节点数组
                                    var linksOption = option.series[0].links; //获得所有连接的数组
                                    for (let index in nodesOption) {
                                        if (nodesOption[index].check) {
                                            nodesOption[index].check = false;
                                        }
                                    };
                                    linksOption.push(linkobj);
                                    refreshGirdData(nodesOption, linksOption);
                                    //myChart.setOption({
                                    //    series: [{
                                    //        data: nodesOption,
                                    //        links: linksOption
                                    //    }]
                                    //});
                                }
                            }, {
                                "name": "编辑节点",
                                "fn": function () {
                                    var id = e.data.id;
                                    page.editNode(id);

                                }
                            }]);
                        } else {
                            if (e.dataIndex === 0) {
                                //e中有当前节点信息
                                page.showMenu(e, [{
                                    "name": "添加节点",
                                    "fn": function () {
                                        page.addNodenew(e);
                                    }
                                }, {
                                    "name": "编辑节点",
                                    "fn": function () {
                                        var id = e.data.id;
                                        page.editNode(id);

                                    }
                                }
                                ]);
                            } else {
                                //e中有当前节点信息
                                page.showMenu(e, [{
                                    "name": "删除节点",
                                    "fn": function () {
                                        var id = e.data.id;
                                        page.deleteNode(id);

                                    }
                                }, {
                                    "name": "添加节点",
                                    "fn": function () {
                                        page.addNodenew(e);
                                    }
                                }, {
                                    "name": "编辑节点",
                                    "fn": function () {
                                        var id = e.data.id;
                                        page.editNode(id);

                                    }
                                }]);
                            }
                        }
                    } else {
                        if (e.dataIndex === 0) {
                            //e中有当前节点信息
                            page.showMenu(e, [{
                                "name": "添加节点",
                                "fn": function () {
                                    page.addNodenew(e);
                                }
                            }, {
                                "name": "编辑节点",
                                "fn": function () {
                                    var id = e.data.id;
                                    page.editNode(id);

                                }
                            }]);
                        } else {
                            //e中有当前节点信息
                            page.showMenu(e, [{
                                "name": "删除节点",
                                "fn": function () {
                                    var id = e.data.id;
                                    page.deleteNode(id);

                                }
                            }, {
                                "name": "添加节点",
                                "fn": function () {
                                    page.addNodenew(e);
                                }
                            }, {
                                "name": "编辑节点",
                                "fn": function () {
                                    var id = e.data.id;
                                    page.editNode(id);

                                }
                            }]);
                        }
                    }

                }
            })
            //移除浏览器右键菜单
            myChart.getDom().oncontextmenu = menubox[0].oncontextmenu = function () {
                return false;
            }
            //点击其他位置隐藏菜单
            $(document).click(function () {
                menubox.hide()
            });
        },
         addNodenew: function (e) {
            //console.log(e)
            var X = e.data.x;
            var Y = e.data.y;
            var start_id = e.data.id;
            var end_id = page.newGuid();
            var nodesOption = option.series[0].data; //获得所有节点数组
            var linksOption = option.series[0].links; //获得所有连接的数组

            while (true) {
                var ishave = false;
                for (var i = 0; i < nodesOption.length; i++) {
                    if (nodesOption[i].value.x == (X + 50) && Y == nodesOption[i].value.y) {
                        ishave = true; 
                    }
                }
                if (ishave) {
                    Y = Y + 25;
                } else {
                    break;
                }
            }
            //var Max_Y=null;
            //for (var i = 0; i < nodesOption.length; i++) {
            //    if (nodesOption[i].value.x == (X + 50) ) {
            //        Max_Y = nodesOption[i].value.y; 
            //    }
            //}
            //if (Max_Y != null) {
            //    Y = Max_Y+25 ;
            //}
            var nodeobj = {
                id: end_id,
                name: '工艺',
                value: { name: "工艺", x: X + 50, y: Y },
                check: false,
                x: X + 50,
                y: Y
            }



            //var state = false; //判断是否并行
            //for (var i = 0; i < linksOption.length; i++) {

            //    if (linksOption[i].source == start_id) {
            //        for (var j = 0; j < nodesOption.length; j++) {
            //            if (nodesOption[j].id == linksOption[i].target) {
            //                if (Y < nodesOption[j].y) {
            //                    Y = nodesOption[j].y;
            //                }
            //            }
            //        }
            //        state = true;
            //    }

            //}


            //if (!state) {
            //    var ishave = false;
            //    for (var i = 0; i < nodesOption.length; i++) {
            //        if (nodesOption[i].value.x == (X + 50) && nodesOption[i].value.y == Y) {
            //            ishave = true;
            //        }
            //    }
            //    if (ishave) {
            //        var nodeobj = {
            //            id: end_id,
            //            name: '工艺',
            //            value: { name: "工艺", x: X + 50, y: Y+12 },
            //            check: false,
            //            x: X + 50,
            //            y: Y+12
            //        }
            //    } else {
            //        var nodeobj = {
            //            id: end_id,
            //            name: '工艺',
            //            value: { name: "工艺", x: X + 50, y: Y },
            //            check: false,
            //            x: X + 50,
            //            y: Y
            //        }
            //    }


                
            //} else {
            //    debugger;
            //    var ishave = false;
            //    console.log("Node");
            //    console.log(nodesOption);
            //    for (var i = 0; i < nodesOption.length; i++) {
            //        console.log(nodesOption[i].value.x)
            //        console.log(X + 50)
            //        if (nodesOption[i].value.x == (X + 50) && nodesOption[i].value.y == (Y + 25)) {
            //            ishave = true;
            //        }
            //    }
              
            //    if (ishave) {
            //        var nodeobj = {
            //            id: end_id,
            //            name: '工艺',
            //            value: { name: "工艺", x: X + 50, y: Y + 12 },
            //            check: false,
            //            x: X + 50,
            //            y: Y + 12
            //        }
            //    } else {
            //        var nodeobj = {
            //            id: end_id,
            //            name: '工艺',
            //            value: { name: "工艺", x: X + 50, y: Y + 25 },
            //            check: false,
            //            x: X + 50,
            //            y: Y+25
            //        }
            //    }
                
            //}

            var linkobj = {
                source: start_id,
                target: end_id,
                symbolSize: [5, 20],
            }
            nodesOption.push(nodeobj);
            linksOption.push(linkobj);
            refreshGirdData(nodesOption, linksOption);
            //myChart.setOption({
            //    series: [{
            //        data: nodesOption,
            //        links: linksOption
            //    }]
            //});

        },
        deleteNode: function (id) {
            var nodesOption = option.series[0].data; //获得所有节点数组
            var linksOption = option.series[0].links; //获得所有连接的数组
            var curNode = nodesOption.find(t => t.id == id);
            var curLines = linksOption.filter(t => t.source == id);
            for (let index in linksOption) {
                if (linksOption[index].target == id) {
                    linksOption.splice(index, 1);
                }
            };
            for (let index in nodesOption) {
                if (nodesOption[index].id == id) {
                    nodesOption.splice(index, 1);
                }
            };
            for (let line of curLines) {
                page.deleteNode(line.target)
            };
            refreshGirdData(nodesOption, linksOption);
            //myChart.setOption({
            //    series: [{
            //        data: nodesOption,
            //        links: linksOption
            //    }]
            //});
        },
        showMenu: function (e, menus) {
            $("div", menubox).text(e.name);
            var menulistbox = $("ul", menubox).empty();
            $(menus).each(function (i, item) {
                var li = $("<li style='" + style_li + "'>" + item.name + "</li>")
                    .mouseenter(function () {
                        $(this).attr("style", style_li_hover);
                    })
                    .mouseleave(function () {
                        $(this).attr("style", style_li);
                    })
                    .click(function () {
                        item["fn"].call(this);
                        menubox.hide();
                    });
                menulistbox.append(li);
            });
            menubox.css({
                "left": event.x,
                "top": event.y
            }).show();
        },
        newGuid: function () {
            var guid = "";
            for (var i = 1; i <= 32; i++) {
                var n = Math.floor(Math.random() * 16.0).toString(16);
                guid += n;
                if ((i == 8) || (i == 12) || (i == 16) || (i == 20))
                    guid += "-";
            }
            return guid;
        },
        editNode: function (id) {
           
            learun.layerForm({
                id: 'form',
                title: '编辑',
                url: top.$.rootUrl + '/LR_CodeDemo/FlowShow/Edit?id='+id,
                width: 700,
                height: 400,
                callBack: function (id) {
                    return top[id].acceptClick(refreshGirdData);
                }
            });
        }

    };
    
}

 

echart 世界地图发光_使用echart.js来绘制世界地图 可视化框架echartECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。它提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视... 阅读详情

相关推荐

Echart常用折线图

1. 渐变色折线图 <template> <div :id="id" style="width: 100%; height: 100%"></div> </template> <script> import { fontChart } from "@/utils/echartPxToRem"; import * as echarts from "echarts"; export default { data() { ret.

专注于技术,分享实战经验,探索技术边界,用代码构建更美的数字世界。 1万+

ECHART基本使用,折线图,柱状图,散点图,饼图,盒形图5分钟上手

Echarts 是由百度团队打造的纯 JavaScript 的图表库,官网下载路径如下:http://echarts.baidu.com/download.htmlEcharts的特性:丰富的图表类型: 常用的有折线图,柱状图,散点图,饼图,盒形图,用于地理数据可视化的地图,热力图,线图等多个坐标系的支持 直角坐标系(catesian,同 grid)、极坐标系(polar)、地理坐标系(geo) 使

知其白,守其黑;和其光,同其尘。 2万+

AI Agent实战:WorkBuddy安装部署、任务执行与模型接入全教程

AI Agent是当前自动化办公与智能工作流的核心技术,它区别于传统问答式AI,能够理解目标、拆解任务并调用工具交付完整成果。其底层原理基于任务规划、工具调用与结果验证的循环机制,让机器从“提供建议”进化为“完成任务”。在工程实践中,合理配置模型服务(如接入DeepSeek)、设计标准化Skill(技能包)与自定义指令,可以显著提升Agent在报告生成、数据分析、竞品调研等场景中的稳定性与效率。WorkBuddy作为典型的任务式AI工作台,为运营、产品、开发等多角色提供了统一入口,覆盖安装部署、任务描述公式

weixin_26712075的博客 289

【图表】echart指南

ECharts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。ECharts最初由百度团队开源,并于2018年初捐赠给Apache基金会,成为ASF孵化级项目。 ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。 可以流畅的运行在 PC 和移动

欢迎指错||纠正||建议||水评+点赞&&评论&&关注&&转发 1万+

Mac用户解决WPS中的俄语显示红线问题(WPS添加外语拼写检查)

我所使用的WPS版本:AppleStore 下载的 MacOs版 3.3.0 首先,对于 在访达-应用程序中,找到WPS,右键-点击“显示包内容” 然后按照下图的索引目录(Contents\Resource\office6\dicts\spellcheck),最后进入一个叫“spellcheck”的文件夹 最后将下载好的字典包(例如上图中的 en_US就代表美式英语;ru_RU就代表俄语) 关于字典包资源下载,我在网上找到一个Google云盘,里面包含了法语,德语,西语,意大利语,葡萄牙.

qq_48159150的博客 7896

智能车图像处理20-进阶篇12--正入十字补线1

这篇文章主要讲述基本的正入十字补线方法。

taiyuezyh的博客 6940

echarts入门教程(超级详细带案例)

1.echarts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。ECharts最初由百度团队开源,并于2018年初捐赠给Apache基金会,成为ASF孵化级项目。 2.学习一项技术的关键,还是需要多读官方文档,官网链接Apache ECharts,与之类似的图表库还有D3,HeightCharts。 3.echarts的下载 (1)从 npm 获取 (2)从 CDN 获取 (3)从 GitHub 获取 (2)color调色盘 在 option 中设

m0_55734030的博客 12万+

ROS机器人未知环境自主探索功能包explore_lite最全源码详细解析(一)

本系列文章主要针对ROS机器人常使用的未知环境自主探索功能包explore_lite展开全源码的详细解析,并进行概括总结。 本系列文章共包含六篇文章,前五篇文章主要介绍explore_lite功能包中 explore.cpp、costmap_tools.h、frontier_search.cpp、costmap_client.cpp等源码实现文件中全部函数的详细介绍,第六篇文章进行概括总结,包含自主探索功能包explore_lite的简介,实现未知环境自主探索功能的原理及流程总结,效果演示,使用功能包

慕羽★的博客 3936

Echart的使用初体验,Echarts的基本使用及语法格式,简单图表绘制和使用及图例添加【学习笔记】

ECharts 是一个使用 JavaScript 实现的开源可视化库,涵盖各行业图表,满足各种需求。ECharts 遵循 Apache-2.0 开源协议,免费商用。ECharts 兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等)及兼容多种设备,可随时随地任性展示。

m0_63622279的博客 1万+

【AI智能体】Docker 部署 Coze应用服务实战操作详解

Docker 部署 Coze应用服务实战操作详解

congge 4872

【制作100个Unity游戏之36】用unity从零开始实现类《开心消消乐》的三消类消除解压小游戏

Unity甜品消除游戏开发摘要 本文介绍了使用Unity开发甜品消除游戏的核心实现步骤: 冰块阵列生成 通过GlobalDef定义全局参数(9行7列网格) IceSpawner脚本动态生成网格化冰块阵列 添加Resolution脚本实现多分辨率适配 随机水果生成 创建FruitSpawner作为水果容器 FruitItem脚本管理水果属性(行列索引、类型) 支持动态创建水果精灵并设置位置 关键技术点 使用Instantiate动态生成预制体 通过localPosition精确控制网格布局 分辨率适配算法保持

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1291

了解AntV/x6

X6 是基于 HTML 和 SVG 的图编辑引擎,提供低成本的定制能力和开箱即用的内置扩展,方便我们快速搭建 DAG 图、ER 图、流程图、血缘图等应用。

weixin_73416102的博客 1万+

【图像拼接】源码精读:Parallax-Tolerant Unsupervised Deep Image Stitching(UDIS++)

注:Pytorch代码。【图像拼接论文精读】专栏对应文章【图像拼接】论文精读:Parallax-Tolerant Unsupervised Deep Image Stitching(UDIS++)配合对应的文章阅读,效果更佳!注:请重点关注代码段中的注释!!!有一些讲解的东西直接写在代码段的注释中了,同时多关注红色字体和绿色字体!!!我认为深度学习方法和传统方法有很多相似之处。比如:深度学习中的损失函数和传统方法中的对齐项、失真项等其实原理相同,只是求解方式不同。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 7272

echart 动画 饼图_echarts构建关系图,节点可收缩和展开,可添加点击事件

echarts下载及使用 ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。 ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统...

weixin_33773670的博客 3240

YOLOv5_DeepSORT_Pytorch训练自己的多目标跟踪模型

1 准备 环境配置:https://blog.youkuaiyun.com/weixin_50008473/article/details/115250986?spm=1001.2014.3001.5501 YOLOv5_DeepSORT_Pytorch代码地址: https://github.com/mikel-brostrom/Yolov5_DeepSort_Pytorch DeepSORT论文:https://arxiv.org/pdf/1703.07402.pdf 2 训练目标检测模型 训练自己的目标检测模

weixin_50008473的博客 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

echart 动画 饼图_巧用EChart画动态饼图

生物信息学领域算法对于解决复杂生物学问题非常重要,随着NGS的发展对于算法需求也越来越多,同时也伴随着对数据可视化的需求的增加。以下小编将为大家介绍一种非常实用的动态可视化方法---Echarts,一个纯 Javascript 的图表库,可以在PC和移动设备上流畅运行,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的 Canvas 类...

weixin_31459571的博客 1886

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

2.Echart----绘制饼图

EChart 超级详细的饼图绘制逻辑,带你从零到有,一步一步学习EChart的绘制

lazy_tomato的博客 8316

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

echart水滴_echarts 水球图

转载编辑。 原作者链接地址:https://zhuanlan.zhihu.com/p/25353670?group_id=827655855632715776水球图是一种适合于展现单个百分比数据的图表类型,ECharts 的水球图插件使你能够通过非常简单的配置,实现酷炫的数据展示效果。第一步:引入 JavaScript 文件ECharts 的水球图是一个插件类型的图表。这意味着,在 ECharts...

weixin_39669769的博客 934

echart雷达图文字挤在一起_王者荣耀雷达图具体做法

之前发了个王者荣耀界面雷达图的结果王者荣耀战绩图,但是没发做法。今天来简单介绍一下,最终完成界面如下:首先,选中AB列的数据项及评分,插入普通的无填充的雷达图。完成后,删除图表标题,效果如下:适当调整网格线的颜色和宽度:图表上鼠标右键,选择数据,点击【添加】按钮。选择评分值的B列,插入一个新的系列。编辑系列2的水平轴分类标签为A列内容:完成后,图表中插入了一个新的系列,红色边框的雷达图:...

weixin_39877050的博客 1087

uniapp(vue2) app端使用echart-雷达图

这里分享在工作中遇到的问题,结合平时经验进行解决,有不同的答案欢迎讨论~ uniapp(vue2) app端使用echart-雷达图

10块钱刮刮乐中20的博客 2417

echart的编辑

做echart最好的方法,从需求出发,查看文档配置项。一边查阅,一边实现功能。一些特殊功能实现,就另说了。 <div class="upshow_left" id="seven_day_chart" style="width:60vw;height:38vh;"></div> console.log(echarts +"我的图表对象"); var sev...

weixin_30612769的博客 198

echarts2.* tree树形图节点点击事件和节点点击图标更改

做项目用到echarts2.2.7版本做树图,遇到点击树图节点“更改样式”(并不能更改样式,只能换图标/图片),百度、谷歌搜索后均没找到解决方案。后来苦苦探索,终于找到解决入口,特地分享给大家以供参考,吐槽一下echarts的api真的没有highcharts人性化和易找。//贴出关键点! functionclickFun(param){ co...

weixin_34018169的博客 4983

echart怎样修改内容_echart 拖动图形以改变数据

背景公司的项目涉及数据可视化部分,用echart去图形化数据,用可编辑的表格来实现对数据的修改,同时反映到图形上。即:表格 ---编辑--> 数据 变化 ---echart-->更新图示。现在希望能够把这个流程反过来:在图表中进行拖动节点来调整数据。显然这种方法要更加直观一些。实现思路以折线图为例:正常画图。在每个节点上添加一个额外的虚拟的节点。让这个虚拟的节点变得可以编辑。(可拖动)...

weixin_39737947的博客 1346

利用echart实现各环节进度监控

思路: 利用echart瀑布图,实现计划进度和实际进度的对比,显示差异以及工期。利用甘特图因为时间轴不好调整,并且不好看,所以利用echart布局。公司只想关注主要环节,希望一屏能够看到想要的信息,所以我想到把时间固定在6-8个区段(因为项目会有延期)。但是时间轴是可以动态生成的。以下代码可以直接在echart官方的编辑器中运行。赋值接口都已经安排好,想必用过的人应该懂得如何赋值。代码如下:opt

简单而有效 4119

iofod - Echart 图表全支持

Echart 几乎是 Apache 基金会中最为流行的开源项目,也是 Web 可视化领域不可忽视的一座大山,iofod 全场景低码平台近期在处理数据可视化相关的组件资产,在众多Web 图表库中,我们毫不犹豫选择了 Echart 作为平台在数据可视化领域的拓展库。新一代大前端利器 iofod 在 8月份开放公测,借助原子化组件的特性,我们得以构建极富表现力的跨全平台应用。

xiaodongbi的博客 294
上一篇: aspose.words .net 导出word表
下一篇: Echarts3 关系图-力导向布局图 使用参数
ArcherSYM
博客等级 码龄10年 4粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值