【语法】【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 等版本控制系统进行管理,可以追踪思维导图的变更历史。

--

相关推荐
一路往蓝-Anbo4 小时前
第三篇:ADC 与模拟前端
stm32·嵌入式硬件·嵌入式·硬件设计
袁小皮皮不皮8 小时前
1.HCIP BFD 学习笔记(优化版)
服务器·网络·笔记·网络协议·学习·智能路由器·ip
装不满的克莱因瓶8 小时前
【自动驾驶领域】学习 Cityscapes 数据集——城市街景语义理解的标准基准
人工智能·pytorch·python·深度学习·学习·机器学习·自动驾驶
清辞8539 小时前
产品经理需求推进流程
大数据·深度学习·学习·产品经理
YM52e10 小时前
鸿蒙PC ArkTS 声明合并问题深度解析与最佳实践
学习·华为·harmonyos·鸿蒙·鸿蒙系统
海兰11 小时前
【实用程序】电商销售分析仪表盘 — 从零搭建一个AI参与的全栈数据洞察系统
人工智能·学习·算法
ken223211 小时前
在 Libreoffice Calc中输入自定义表情字符时,需要保存之后,才能正常显示
学习
zwenqiyu11 小时前
P5283 [十二省联考 2019] 异或粽子题解
c++·学习·算法
编程圈子11 小时前
电机驱动开发学习2. 直流无刷电机工作原理
驱动开发·学习
MartinYeung512 小时前
[论文学习]大型语言模型(LLM)安全与隐私-基于善、恶、丑的深度分析
学习·安全·语言模型