使用mxGraph绘制流程图

article/2025/9/16 5:57:10

mxGraph是一个强大的JavaScript流程图前端库,可以快速创建交互式图表和图表应用程序,国内外著名的ProcessOne和draw.io都是使用该库创建的强大的在线流程图绘制网站.

这个库相当强大和复杂,以至于初次接触会无从下手,不过官方的文档是相当强大和完善的,还有众多的示例可以参考,因此,做出简单的效果是没有问题的,我主要介绍一下我自己在项目中遇到的问题。

  • 1.HTML元素作为流程图元素

在项目中,我们要实现如下所示的流程图。每个节点左侧是图标,中间是文字描述,右侧是状态展示,这种样式使用HTML是很好处理的,那么在mxGraph中节点可以使用HTML吗,当然是可以的。
流程图示例
首先,我们需要设置使用HTML标签

graph.htmlLabels = true;

然后,在创建cell的时候传入HTML,大小,以及样式即可,如下:

var style = 'text;strokeColor=none;fillColor=none;html=1;whiteSpace=wrap;verticalAlign=middle;overflow=hidden;';var html = '<table class="cellTable">' +'                        <tr>' +'                            <td>' +'                                <div class="cellIcon"><div></div></div>' +'                            </td>' +'                            <td class="cellLabel"></td>' +'                            <td class="cellState"><i class="fa"></i></td>' +'                        </tr>' +'                    </table>';
//创建cellvar cell = new mxCell(html, new mxGeometry(0, 0, 293, 89), style);cell.vertex = true;

使用HTML元素作为节点,可以很好的控制样式,而且HTML节点也能很方便的添加事件和其他操作,十分方便。

  • 2.流程图自动布局
    mxGraph提供了多种流程图布局算法,常用紧凑树布局算法即可,即

    new mxCompactTreeLayout(graph);

    不过这种算法只针对只有一个根节点的,对于这种有多个节点的,如下面这种:

多父节点的
则需要使用另外的算法来完成布局:

new mxHierarchicalLayout(graph, mxConstants.DIRECTION_NORTH);

通过根节点的数量来选择不同的布局算法,以上。
又烂尾了,写不下去,综上,可以用HTML节点,以及根节点数量不同要选用不同的布局算法。


http://chatgpt.dhexx.cn/article/m4ut4epn.shtml

相关文章

如何在 XMind 中绘制流程图

XMind 是专业强大的思维导图软件,由于其结构没有任何限制,很多朋友特别喜欢用它来绘制流程图。禁不住大家的多次询问,今天 XMind 酱就将这简单的流程图绘图方法分享给大家。 在 XMind 中,绘制流程图的主角是「自由主题」和「联系」。它们可以打破思维导图的限制,让你自由…

使用 LaTeX 绘制流程图

在写作论文时,流程图是一种最为直观和直接的方法来帮助我们表示思想方法或者算法。下面介绍一种使用 LaTeX 宏包 TikZ 来绘制矢量流程图的方法,主要参考了这篇博客 Ethan Deng。 基本步骤 下面给出一个基本框图的代码,请注意注释: % texlive2015, pdflatex \documentcla…

Drawio流程图

Drawio一款流程图使用简介 序&#xff1a; drawio是一款强大、免费的绘图工具&#xff08;基本可以替代收费的visio等&#xff09;&#xff0c;使用起来非常方便。支持网页版使用&#xff08;网页版可以自己部署一套&#xff09;以及客户端使用&#xff08;支持windows&#…

confluence 制作流程图_软件需求分析流程图绘制方法

怎么利用软件绘制结构化程序流程图呢?下面小编就与大家分享一下借助流程图工具绘制编程语言结构化流程图的具体方法步骤,希望能帮助大家。 ​ 方法/步骤 1如果想借助流程图工具绘制结构化程序流程图,我们需要通过相关流程图制作工具来实现,如图所示,通过百度搜索下载相关流…

怎么进行免费流程图制作?不妨试试这些软件

今天收到小伙伴的求助&#xff0c;说是老板让他制作工作流程图&#xff0c;但是这位小伙伴之前没制作过流程图&#xff0c;现在想寻找一个快速制作流程图的办法。其实&#xff0c;现在市面上有很多的流程图软件能够供我们制作&#xff0c;而且里面有很多模板让我们一键套用&…

用dia绘制流程图

2018-9-4 今天在win10上装了visio 2016&#xff0c;在manjaro上装了dia。以后就要开始绘图了。用流程图、思维导图帮助思考、总结、归档资料和知识。 在manjaro上安装完&#xff0c;打开dia是分两个窗口。在软件里找了一圈都没有找到合并到一个窗口的设置。dia这个软件在国内…

如何在Word中绘制流程图

在日常工作中&#xff0c;很多时候我们都需要绘制流程图。那么如何如何在Word中绘制流程图呢&#xff1f;今天就用常用的speedoffice来和大家一起学习吧。 1&#xff0c;首先打开电脑&#xff0c;打开word文档。 2&#xff0c;点击上方工具栏&#xff0c;选择插入---形状。 3&…

软件程序流程图使用规范

软件程序流程图使用规范 - Amorphous - 博客园 (cnblogs.com) 目录&#xff1a; 一、程序流程图的作用二、画流程图常用软件三、流程图中使用的符号四、流程图采用的常用符号五、循环流程图的画法六、程序流程图的高级用法&#xff1a; 七、基本结构八、使用约定 九、流线 流…

Speedoffice(word)如何绘制流程图

在日常工作中&#xff0c;有时候我们会需要绘制流程图。那么如何如何在Word中绘制流程图呢&#xff1f; 1,首先运行office软件&#xff0c;打开word文档。 2,点击上方工具栏中插入---形状。 3,选择自己想要的形状&#xff0c;左键拖动鼠标进行绘制。 4,接着在各个图形之间添加…

项目开发——【流程图】软件工程程序流程图详解《如何正确绘制项目开发流程图》

程序流程图详解 介绍&#xff1a;通过图形符号形象的表示解决问题的步骤和程序。好的流程图&#xff0c;不仅能对我们的程序设计起到作用&#xff1b;在帮助理解时&#xff0c;往往能起到"一张图胜过千言万语"的效果。 一、程序流程图基本控制结构 顺序型&#xf…

有什么画流程图的好工具?这些流程图软件推荐不容错过

流程图是我们工作中常用的一类图表&#xff0c;可以非常直观地表示一个系统的信息流&#xff0c;所以绘制流程图有利于提高我们的工作效率&#xff0c;能够使我们的工作起到事半功倍的效果&#xff0c;很多人在绘制流程图的时候都会说很难绘制&#xff0c;尤其是那种看起来很有…

画流程图用什么软件好?快把这些软件收好

流程图是一种广泛运用在商业、设计、交流的图形表示技术&#xff0c;它能够清晰的将过程、算法、流程展现出来。小伙伴们平时有接触到流程图吗&#xff1f;现在市面上有很多软件都可以用来制作流程图&#xff0c;那你们知道流程图制作软件哪个好吗&#xff1f;有需要制作流程图…

可以用什么软件画流程图?看看这几款画流程图软件

我们在日常的学习和工作中&#xff0c;经常会需要制作一些流程图来帮助我们梳理工作的流程或知识点&#xff0c;帮助我们能够更好地理清思路&#xff0c;让我们可以更加顺利地完成学习和工作任务。那大家知道在线画流程图工具有哪些吗&#xff1f;还不知道的小伙伴&#xff0c;…

做流程图软件有哪些?来看看今天的分享

不管是生活&#xff0c;还是工作&#xff0c;我们或多或少都会用到流程图。流程图就是将图形与文字相结合&#xff0c;体现出各个事件之间的流程逻辑关系&#xff0c;相比于纯文字描述&#xff0c;流程图往往更加形象且通俗易懂&#xff0c;能帮助我们将复杂的流程清晰且简单的…

Hust计算机组成原理实验

文章目录 logisim的使用1.添加门电路2.添加引脚3.添加导线4.添加文本5.测试电路补充工具 实验一&#xff0c;运算器实验8位串行可控加减法器分析一位全加器八位串行加法器即可给出8位串行可控加减法器回答问题 CLA74182&#xff08;先行进位加法器&#xff09;参数公式问题 位快…

计算机组成原理-存储器实验

实 验 报 告 课程名称&#xff1a; 计算机组成原理 系 &#xff08;院&#xff09;&#xff1a; 信息工程学院 班 级&#xff1a; 计科 学生姓名&#xff1a; 学 号&#xff1a; 指导教师&#xff1a; …

计算机组成原理实验一 运算器实验

一、实验目的 1、熟悉8位寄存器的读写操作 2、熟悉简单运算器的数据传送通路 3、验证运算器74LS181的算术逻辑功能 4、按给定数据&#xff0c;完成指定的算术、逻辑运算 二、实验内容 1、绘制仿真图。 2、输入A0xaa&#xff0c;B0x55&#xff0c;启动仿真前令ALU_EN1。启…

21级计科专业计算机组成原理实验一报告

实验资料&#xff1a; https://wwpv.lanzoue.com/b05drrb2b 密码:7nwj 附件清单如下&#xff1a; &#xff08;1&#xff09;MSDEV.EXE-----替换后可以修复调试后软件不可用的情况 &#xff08;2&#xff09;计算机组成原理实验一&#xff08;完整&#xff09;.docx ----计算机…

计算机组成原理 相关实验及实验环境

相关实验 全加器实验 存储器实验 运算器实验 总线与微命令实验 累加器实验 程序计数器实验 微程序控制器实验 实验环境 用到的环境dsvlab1.0&#xff0c;在IE浏览器中打开&#xff0c;需要IE11的版本&#xff0c;若是不行可以选择在虚拟机上运行此环境使用VMware虚拟机安装W…

多思计算机组成原理实验三:存储器实验

03H 存储00010011&#xff1a; 写数据 读数据 04H 存储00010100&#xff1a; 写数据 读数据 本实验主要是先将选择的地址数据由74LS245送到74LS273锁存器进行存储&#xff0c;再送到6116进行地址设置&#xff1b;然后将要存储的数据由74LS245送往RAM6116&#xff0c;将数…