【语法】【Plantuml】思维导图基础语法

思维导图简介

基本语法与结构

PlantUML 思维导图的基本结构由 @startmindmap@endmindmap 标记定义。节点层级则通过星号 * 的数量来表示。

plantuml 复制代码
@startmindmap
* 中心主题
** 一级分支1
*** 二级分支1.1
*** 二级分支1.2
** 一级分支2
*** 二级分支2.1
@endmindmap

你也可以使用 +- 来创建新分支,符号的数量表示层级关系。

思维导图样式定制

为了让思维导图更美观,PlantUML 提供了丰富的样式定制选项。

颜色设置

为整个节点或特定节点设置颜色:

plantuml 复制代码
@startmindmap
*[#Orange] 中心主题
**[#lightgreen] 一级分支1
***[#FFBBCC] 二级分支1.1
***[#lightblue] 二级分支1.2
**[#lightgreen] 一级分支2
@endmindmap

样式块定义

通过 <style> 块,你可以定义更精细和可复用的样式:

plantuml 复制代码
@startmindmap
<style>
mindmapDiagram {
  FontName "SimHei, Microsoft YaHei, WenQuanYi Micro Hei"  /* 设置字体 */
  RoundCorner 10  /* 圆角 */
  shadowing 2.0   /* 阴影 */
}
rootNode {
  FontSize 20
  FontColor #FFFFFF
  BackgroundColor #DC143C  /* 中心主题颜色 */
}
firstlevel>node {
  BackgroundColor #FFEBEE  /* 一级分支背景色 */
}
secondlevel>node {
  BackgroundColor #FFFFFF  /* 二级分支背景色 */
}
</style>
* 中心主题
** 一级分支
*** 二级分支
@endmindmap

去除节点外边框

在节点文本前加上下划线 _ 可以去除该节点的外边框:

plantuml 复制代码
@startmindmap
* 中心主题
** 一级分支
***_ 无边框的子节点
@endmindmap

思维导图高级功能

多行内容表示

对于需要多行文本的节点,可以使用 : 开始,; 结束。注意,目前若要使用 :; 本身作为内容,只能用 * 新建分支。

plantuml 复制代码
@startmindmap
* 多行内容示例
**: 这是一个多行节点;
   这是第二行内容;
   这是第三行内容;
@endmindmap

添加图标

PlantUML 支持使用语法 <&ICON_NAME> 在节点中添加图标。

plantuml 复制代码
@startmindmap
* 图标示例
** <&heart> 带爱心的节点
** <&star> 带星星的节点
@endmindmap

使用列表

你可以在节点中创建列表:

plantuml 复制代码
@startmindmap
* 列表示例
**:
*** 无序列表
** * 项目一
** * 项目二
**:
*** 有序列表
** # 第一项
** # 第二项
;
@endmindmap

生成思维导图

编写好 PlantUML 代码后,你可以通过以下方式生成思维导图图片:

  1. 在线生成:访问 http://www.plantuml.com/plantuml/,将代码粘贴到文本框,图片会自动生成。
  2. 本地生成
    • 安装 Visual Studio Code。
    • 在 VS Code 的扩展商店中搜索并安装 "PlantUML" 插件。
    • 新建一个 .puml.wsd 文件,粘贴代码。
    • 按下 Alt + D (Windows/Linux) 或 Opt + D (macOS) 即可预览。

思维导图实践建议

  • 先规划结构:在开始编写代码前,最好先规划好思维导图的整体结构和层级,这能让你更高效地编写 PlantUML 代码。
  • 保持简洁:尽量避免过于复杂的嵌套,确保思维导图的清晰度和可读性。
  • 样式复用:对于一系列风格统一的思维导图,可以定义通用的样式块,方便复用和维护。
  • 版本控制:由于 PlantUML 文件是纯文本,非常适合用 Git 等版本控制系统进行管理,可以追踪思维导图的变更历史。

--

相关推荐
西岸行者4 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意4 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码4 天前
嵌入式学习路线
学习
毛小茛4 天前
计算机系统概论——校验码
学习
babe小鑫4 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms4 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下4 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。4 天前
2026.2.25监控学习
学习
im_AMBER4 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J4 天前
从“Hello World“ 开始 C++
c语言·c++·学习