百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Mermaid (美人鱼) 一个JS 渲染的图表工具

myzbx 2025-05-28 19:14 8 浏览


Mermaid 是一种基于 JavaScript 的图表和图表工具,它使用受 Markdown 启发的文本定义和渲染器来创建和修改复杂的图表。Mermaid 的主要目的是帮助文档跟上开发。


图表和文档编制会花费开发人员宝贵的时间,并且很快就会过时。但是没有图表或文档会破坏生产力并损害组织学习。

Mermaid 通过使用户能够创建易于修改的图表来解决这个问题,它也可以成为生产脚本(和其他代码)的一部分。

Mermaid 甚至允许非程序员通过 Mermaid Live Editor 轻松创建详细的图表。

之前主要关注Plantuml 进行时序图和状态图的绘制。下面进行一下对比:

Mermaid 和Plantuml 绘制图上的相同与不同,以及相关的优缺点。


1. 相同点

  1. 基本目标
  2. 都是用于创建软件工程图表的文本描述语言
  3. 都支持多种类型的图表(流程图、序列图、类图等)
  4. 都遵循"代码即图表"的理念
  5. 使用场景
  6. 软件文档生成
  7. 技术方案设计
  8. 流程说明
  9. 系统架构图
  10. 版本控制友好
  11. 都使用纯文本格式
  12. 易于进行版本控制
  13. 支持差异对比

2. 不同点

2.1 技术实现

  • Mermaid
    • 基于 JavaScript/D3.js
    • 在浏览器端直接渲染
    • 不需要额外的服务器支持
  • PlantUML
    • 基于 Java
    • 需要Graphviz 支持
    • 需要服务器端渲染

2.2 语法特点

  • Mermaid
    • 语法更简洁直观
    • 学习曲线较平缓
    • 配置选项相对较少
  • PlantUML
    • 语法更严格和完整
    • 学习曲线较陡峭
    • 提供更多细节配置选项

2.3 图表类型支持

  • Mermaid
    • 流程图
    • 序列图
    • 甘特图
    • 类图
    • 状态图
    • 饼图
    • Git图
    • 用户旅程图
  • PlantUML
    • 所有 Mermaid 支持的图表类型
    • 用例图
    • 组件图
    • 对象图
    • 定时图
    • 网络图
    • 线框图
    • 架构图

3. 优缺点分析

Mermaid 优点

  1. 部署简单,只需引入 JavaScript 库
  2. 浏览器端渲染,无需服务器
  3. 语法简单直观
  4. 与现代开发工具集成度高
  5. 适合快速原型设计

Mermaid 缺点

  1. 图表类型相对较少
  2. 复杂图表的渲染效果可能不够理想
  3. 自定义样式选项较少
  4. 大型图表性能可能受限

PlantUML 优点

  1. 功能更全面,支持更多图表类型
  2. 渲染质量更高
  3. 更强的样式自定义能力
  4. 适合复杂系统设计
  5. 输出格式多样(PNG、SVG、PDF等)

PlantUML 缺点

  1. 需要额外的环境配置
  2. 部署相对复杂
  3. 学习曲线陡峭
  4. 需要服务器支持

4. 选择建议

  1. 选择 Mermaid 的场景
  2. 需要快速创建简单图表
  3. 主要在Web 环境中使用
  4. 团队成员编程经验参差不齐
  5. 需要集成到 Markdown 文档中
  6. 不需要复杂的图表类型
  7. 选择 PlantUML 的场景
  8. 需要创建复杂的系统设计图
  9. 对图表质量要求较高
  10. 需要详细的 UML 图表
  11. 团队成员具有较强的技术背景
  12. 需要多种输出格式



流程图:

时序图:



甘特图:



类图:

相关推荐

谷歌大刀阔斧,安卓UI将迎海量细节变更

前段时间谷歌宣布,将于北京时间2025年5月14日1时(美国太平洋时间5月13日10时)举行一场特别直播节目,名为《TheAndroidShow:I/OEdition》。该活动由Android...

Google Drive 通过新的分析功能改善视频播放器体验

GoogleDrive推出了一项新功能,可让您衡量上传到GoogleDrive的视频的参与度。Google在一篇博客文章中宣布,它已经更新了视频播放器的“详细信息”面板,新增了“分析”部分,...

DeepSeek生成Word方案

以下是结合DeepSeek生成网页、转PDF再转Word的三步进阶方案,涵盖普通用户与开发者两种实现路径:一、原生方案:HTML→PDF→Word全流程(适合普通用户)生成标准HTML使用DeepSe...

如何使用谷歌地图和LightningChart创建地理空间地图图表?

LightningChartJS是一款高性能的JavaScript图表工具,专注于性能密集型、实时可视化图表解决方案。LightningChartJS官方最新版免费下载试用,历史版本下载,在...

用 mxgraph.js 打造超实用流程图:从入门到精通(附源码)

在技术快速发展的当下,流程图作为一种直观展示流程和逻辑关系的工具,在项目管理、软件开发、业务流程梳理等诸多领域发挥着重要作用。今天我就和大家分享一下如何使用mxgraph.js构建功能丰富的流程图...

评测:4款免费开源数据可视化JavaScript库

交互式数据可视化在很大程度上取决于JavaScript库的任务能力。在这篇文章中,我们将看看四个JavaScript库:D3,InfoVis,Processing.js,和Recline.js。所有这...

DeepSeek自动生成漂亮的数据分析面板,会计天又塌了!老板超喜欢

如果你还在认为Deepseek分析能力强而做图弱时,只能说你根本不了解它。它其实可以自动生成高质量的数据分析面板。先来几个图吓吓你:如果不看标题,你是不是以为这是哪位数据分析高手做的图,嘿嘿,这的确是...

手绘风格的数据可视化 Sketchify,让你的图表也萌萌哒

作者|naughty来源|oschina.net/taogang/blog/3130390多少年以前,我在一家BI企业负责数据可视化产品的开发,作为产品创新的需要,一篇论文吸引了我的目光,《S...

告别单调,Django后台主页改造 - 使用AdminLTE组件

前言之前我做了个Django的项目,为了让管理后台更加美观,我对Django(应该说是SimpleUI的)默认的Admin后台主页进行改造,具体可以看这篇文章:项目完成-基于Django3.x版本...

Mermaid (美人鱼) 一个JS 渲染的图表工具

Mermaid是一种基于JavaScript的图表和图表工具,它使用受Markdown启发的文本定义和渲染器来创建和修改复杂的图表。Mermaid的主要目的是帮助文档跟上开发。图表和文档编...

分享10+可视图表库, 助你轻松制作精美可视化大屏

前言在开发可视化项目的过程中往往涉及到可视化图表,我们看到的很多酷炫的报表,大屏,都用了非常多的图表,接下来我和大家分享一些比较流行的开源免费的图表库.来源:趣谈前端公众号github:h...

JavaScript Charts更新至v3.15.2

JavaScriptCharts是兼容性好的JavaScript、HTML5图表开发工具,能满足大部分的开发需求,包括序列图表(列型图,条形图,线型图,面积图,步骤折线图,平滑折线图,蜡烛图,ohl...

JavaScript Charts更新至v3.17.0

JavaScriptCharts兼容性好的JavaScript、HTML5图表开发工具,能满足大部分的开发需求,包括序列图表(列型图,条形图,线型图,面积图,步骤折线图,平滑折线图,蜡烛图,ohlc...

最实用的大数据可视化分析工具汇总

四十三、OpenHeatMapOpenHeatMap简单易用,用户可以用它上传数据、创建地图、交流信息。它可以把数据(如GoogleSpreadsheet的表单)转化为交互式的地图应用,并在网上分享...

JavaScript Charts v3.17.3发布

JavaScriptCharts兼容性好的JavaScript、HTML5图表开发工具,能满足大部分的开发需求,包括序列图表(列型图,条形图,线型图,面积图,步骤折线图,平滑折线图,蜡烛图,ohlc...