科研论文画图工具(搞定论文写作与专业绘图的科研神器)
上一期,笔者分享了一个能够通过几行语法就能绘制专业图的 Mermaid,实现了写作与绘图自由。推文指路985博后最爱的免费开源图表绘制工具,导师夸爆了!
本期,笔者再分享一个可以用于 Obsidian 的第三方插件,同样可以绘制高级感满满的专业用图,从此摆脱收费绘图软件,真正做到一个 Obsidian 同时搞定论文写作与科研绘图。
这个插件就是 PlantUML,它允许用户在 Obsidian 中渲染 PlantUML 图。
什么是 PlantUML
官方网址:
https://plantuml.com/zh/
PlantUML 是一个可以让你快速编写 UML 图的组件,支持: 顺序图、用例图、类图、对象图、活动图(旧语法)、组件图、部署图、状态图、时序图;也支持以下非 UML 图:JSON 数据、YAML 数据、网络图 (nwdiag)、线框图形界面或 UI 模拟(Salt)、架构图、规范和描述语言(SDL)、Ditaa 图、甘特图、思维导图图示、工作分解结构图(WBS)、用 AsciiMath 或 JLaTeXMath 符号进行数学计算、实体关系图(IE/ER)。PlantUML 支持的图形种类要比 Mermaid 多得多,真是让人惊喜!
此外,PlantUML 也支持在线编辑器,支持实时绘制图,图形可以直接复制粘贴或者导出。
PlantUML 插件是怎么回事?
PlantUML 插件使用 PlantUML 在线服务器或本地.jar文件进行渲染。换句话说,PlantUML 插件是需要联网使用在线服务器,只要保证计算机联网,就能使用这个插件了。
PlantUML 插件可以通过 Obsidian 的插件商店下载(如下图所示),也可以联系投必得编辑获取安装包。
这里需要注意的是:某些语言(如中文)无法正确呈现,这时候我们需要设置 PlantUML,切换到 SVG 渲染就可以解决中文乱码问题,如下图所示。
怎么使用 PlantUML 插件
接下来,我们看几个 PlantUML 示例,体会一下 PlantUML 在 Obsidian 的用法。
➤ 时序图
时序图是用 -> 连接两个参与者之间的信息。在 Obsidian 输入以下代码,即完成一个时序图创建,这个过程非常简单。
下面是一个时序图示例,Plant UML 的状态图代码与 Mermaid 的代码差不多。
```plantuml
Bob -> Alice : hello
Alice -> Wonderland: hello
Wonderland -> next: hello
next -> Last: hello
Last -> next: hello
next -> Wonderland : hello
Wonderland -> Alice : hello
Alice -> Bob: hello
```
Copy
完成代码部分以后,时序图的效果图如下所示。
➤ 状态图
状态图被用来对系统的行为进行抽象描述。这种行为被表示为一系列的事件,可以在一个或多个可能的状态下发生。
下面是一个状态图示例。
```plantuml
hide empty description
[*] --> 状态 1
状态 1 --> [*]
状态 1 : 这是一段字符串
状态 1 : 这是另一段字符串
状态 1 -> 状态 2
状态 2 --> [*]
```
Copy
完成代码部分以后,状态图的效果图如下所示。
➤ Json 数据
Json 数据格式在软件中被广泛使用。您可以使用 PlantUML 来对 Json 数据可视化。
下面是一个 Json 数据示例,Mermaid 并没有提供 Json 数据可视化,这也算是 PlantUML 的优势之一吧。需要注意的是:代码必须以@startjson关键字开头以@endjson 关键字结尾,其它内容有点像我们常用的字典书写方法。
```plantuml
@startjson
{
"fruit":"Apple",
"size":"Large",
"color": ["Red", "Green"]
}
@endjson
```
完成代码部分以后,Json 数据可视化的效果图如下所示。
➤ YAML
YAML 格式在软件中被广泛使用,您可以使用 PlantUML来可视化您的 YAML 数据。需要注意的是:要激活此功能,代码必须以@startyaml 关键字开头以@endyaml 关键字结尾。
下面是一个 YAML 数据示例,Mermaid 并没有提供 YAML 数据可视化,这也算是 PlantUML 的优势之一吧。
```plantuml
@startyaml
doe: "a deer, a female deer"
ray: "a drop of golden sun"
pi: 3.14159
xmas: true
french-hens: 3
calling-birds:
- huey
- dewey
- louie
- fred
xmas-fifth-day:
calling-birds: four
french-hens: 3
golden-rings: 5
partridges:
count: 1
location: "a pear tree"
turtle-doves: two
@endyaml
```
Copy
完成代码部分以后,YAML 数据可视化的效果图如下所示。
➤ 思维导图
思维导图是比较火热的一种头脑风暴工具,PlantUML 也添加了思维导图,而且功能丰富。
下面是一个思维导图示例,Mermaid 并没有提供思维导图,这也算是 PlantUML 的优势之一吧。需要注意的是:代码必须 以@startmindmap 关键字开头以@endmindmap 关键字结尾,其它内容有点像我们常用的列表书写方法。
```plantuml
@startmindmap
* root 1
** Foo
** Bar
* Root 2
** Lorem
** Ipsum
@endmindmap
```
Copy
完成代码部分以后,思维导图的效果图如下所示。
上述是最基本的思维导图语法,我们还可以设置思维导图的样式风格。下面的示例就是设置思维导图的单元颜色,语法很简单。
```plantuml
@startmindmap
*[#Orange] root node
*[#lightgreen] some first level node
*[#FFBBCC] second level node
*[#lightblue] another second level node
*[#lightgreen] another first level node
@endmindmap
```
Copy
完成代码部分以后,思维导图的效果图如下所示。
PlantUML 还提供了非常多的思维导图语法,详情请看官方网站。
写在最后PlantUML 支持太多专业图形,让人不得不感慨其强大。由于篇幅有限,笔者只能列举出几个常用的图形用法示例。
PlantUML 是免费的。如果你想在 Obsidian 以外使用它,需要安装 JAVA 和 Graphviz 软件。如果您在 Obsidian 中使用 PlantUML,可以通过 PlantUML 插件实现。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com