绘图工具(代码实现绘图)---plantuml

2023-11-08

最近看到asciidoc和plantuml;是编写文档的极好工具。相对word和visio,最大的好处是可以实现代码版本管理,作为changelist。
asciidoc,相对markdown来说,语法更丰富,实现的效果强很多。可以作为简单的latex,写book、article等。虽然markdown的格式稍显简单,但是用户广泛,特别是网站博客,大都支持markdown,所以不拿asciidoc作为笔记文档的第一选择了。
plantuml,虽然面向的是软件设计;但是描述常见的结构,利用plantuml,可以快速绘出规范的图片。极好。
下面,简单记录一下plantuml的常见功能,主要是时序图(也叫顺序图)和状态图(也叫活动图,流程图)。

基础(入门第一个例子)

主要的参考文档:
plantuml的官方手册;而且还是中文的。
http://translate.plantuml.com/zh/PlantUML_Language_Reference_Guide_ZH.pdf
主要的步骤:
1. 下载plantuml.jar(也许你的机器需要安装JRE,即java runtime environment)
http://sourceforge.net/projects/plantuml/files/plantuml.jar/download
2. test.txt里写plantuml代码
scale是生成图片的分辨率,默认图片格式是.png;写博客分辨率建议500*500,其实支持更高的,不过已经足够满足显示效果了。

@startuml
scale 500*500

[->我: 绘图软件plantuml,\n可以替代平时大多数\n的visio应用
我 -> 你: 分享
你 --> 我: 不学
我 -> 你: 为什么
你 --> 我: visio觉得挺适合我
]<-你 : 画visio去了 

caption figure 1.1 test
@enduml

3.java -jar ./plantuml.jar test.txt
4. 图片test.png效果展示
这里写图片描述

时序图

第一个基础例子,就是典型的时序图。不再介绍了。详情见plantuml官网的中文手册就可以了。

流程图

源代码

@startuml
scale 500*500
start
:"分享工具:plantuml";
if (你需要吗?) then (需要)
    :"花1个小时";
    :"有帮助";
    stop
else (不需要)
    :"有visio就够了";
    stop
endif

caption figure 1.2 test
@enduml

图片展示

这里写图片描述

还有很多..这里不再介绍。

语法都很简单。有参考文档就够了。能实现的图可以很复杂。
描述日常中的知识,应该可行。

参考文档:
那些年,我追过的绘图工具 - 迷思 - 知乎专栏
https://zhuanlan.zhihu.com/p/19900327
那些年,我追过的绘图语言(续) - 迷思 - 知乎专栏
https://zhuanlan.zhihu.com/p/19901245
开源工具,使用简单的文字描述画UML图。
http://plantuml.com/
顺序图的语法和功能
http://plantuml.com/sequence-diagram#Basic_examples

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

绘图工具(代码实现绘图)---plantuml 的相关文章

随机推荐

  • 能在电脑桌面提醒待办事项的日程安排管理软件

    很多上班族越来越习惯找寻一款桌面日程安排软件来管理待办日程 提醒任务事项 常见的比如win7系统的便笺 win10系统的便利贴等 这些桌面记事小工具 往往不需要下载安装 在程序中找到添加到桌面即可使用 在方便快捷的同时 它们也存在着一个不可
  • 【转载】技术向:一文读懂卷积神经网络

    原文地址 http toutiao com a4033463198 tt from sina app news article iid 2585754491 utm medium toutiao android utm campain cl
  • webpack打包工具的使用笔记

    webpack打包工具的使用笔记 一 下载webpack 二 使用方法 三 测试 四 压缩css文件 一 下载webpack 1 系统环境如下 C Users admin gt node v v16 15 1 C Users admin g
  • 源代码编译chrome os

    今天照着官网上的介绍自己编译了一下 这里使用的是自己的一套编译机制 照着做基本上没什么问题 下面是主要步骤 需要注意的是编译的时候需要下载很多软件包 所以网络必须要好 就和该操作系统本身一样 没网络 再好的戏也出不来 1 安装depot t
  • DOCKER安装SEATA注册到NACOS

    因为总是多多少少的会出现问题 所以我自行搭建成功 跳过所有坑之后写了个博客 此处没有使用集群 说明 请创建对应seata所需的数据库 将seata源码中的sql执行进去 1 使用最新的seata和nacos以及mysql5 7版本 基于ce
  • 【react】props总结

    每个组件对象都会有props属性 组件标签内的所有属性都保存在props中 props是通过标签属性从组件外向组件内传递变化的数据 注意 组件内部不用修改props数据 props是只读的
  • 「QT踩坑」中断业务逻辑为死循环的线程

    文章目录 I Motivation II Solution III Evaluation I Motivation 在分布式计算模型中 常常会遇到线程间通信 同 异步 的问题 比如 Master 分配任务给 Worker 后者在完成任务之后
  • HTML图片热区map area的用法

    HTML图片热区map area的用法 area 标记主要用于图像地图 通过该标记可以在图像地图中设定作用区域 又称为热点 这样当用户的鼠标移到指定的作用区域点击时 会自动链接到预先设定好的页面 其基本语法结构如下 1 area
  • vue+openlayer实现:拖拽、旋转、缩放、拉伸、移动等功能以及对应的监听事件

    前言 openlayer 是有他自己的扩展插件 ol ext 我们这里用他来实现图形的操作 拖拽 旋转 缩放 拉伸 移动等等功能 以及他的监听事件 毕竟我们作图以后是需要保存数据给后端 存到数据库的 相关资料 1 ol ext官方地址 入口
  • 坐标变换

    根据线性代数32页 编写的 任意1点坐标绕某一点坐标逆时针旋转degree度 可用公式 x x1 cos degree y1 sin degree y x1 sin degree y1 sin degree 很方便 include
  • 解决ChatGLM-6B的微调算法P-tuning v2运行train.sh出错

    运行清华大学开源的ChatGLM 6B及其微调算法P tuning v2 根据其官方提供的步骤 在配置好环境后Run gt gt bash train sh gt gt 报错如下 Traceback most recent call las
  • c++中的堆和栈

    在 C 中 内存的使用主要分为两种类型 栈内存和堆内存 栈 Stack 内存 栈内存用于存储局部变量和函数参数 函数内部创建的变量通常都在栈上 例如 如果你在函数中声明一个整数或一个对象 那么这个整数或对象将在栈上创建 栈上的内存由编译器自
  • 系统默认编码的配置(转)

    运行locale指令得到当前系统编码设置的详细资料 一 locale的五脏六腑 1 语言符号及其分类 LC CTYPE 2 数字 LC NUMERIC 3 比较和排序习惯 LC COLLATE 4 时间显示格式 LC TIME 5 货币单位
  • java开发用amd处理器,为什么我的Java应用程序在AMD处理器上速度更快?

    I made the observation that my java application is running much faster when executed on an AMD processor in contrast to
  • java学习之_Spring框架01_IoC控制反转和DI依赖注入

    spring架构 Spring 最初的目标就是要整合一切优秀资源 然后对外提供一个统一的服务 Spring 模块构建在核心容器之上 核心容器定义了创建 配置和管理 bean 的方式 bean可以看成是一个黑盒子 即只需要知道其功能而不必知道
  • CustomEditor CustomPropertyDrawer

    CustomEditor typeof Type 这是所有写过编辑器的人非常熟悉的一行代码 因为它是编辑器的入口 但是 CustomPropertyDrawer typeof Type 恐怕就没几个人知道了 它和CustomEditor功能
  • 如何分析FPGA的片上资源使用情况

    如何分析FPGA的片上资源使用情况 在维护遗留代码 4 时序问题初露端倪这篇文章中 我提到 第三方开发的设计中 组合逻辑与时序逻辑的比例为2 6 1 这是造成该设计时序收敛困难的原因之一 mengyudn朋友很热心 对这个数据的来历产生了疑
  • 神经网络笔记

    神经网络 一 什么是神经网络 是基于生物学中神经网络的基本原理 在理解和抽象了人脑结构和外界刺激响应机制后 以网络拓扑知识为理论基础 模拟人脑的神经系统对复杂信息的处理机制的一种数学模型 二 神经网络的基本特性 1 非线性 非线性关系是自然
  • jsp自定义标签库

    标签的概念 标签 标签是一种XML元素 通过标签可以使JSP网页变得简洁并且易于维护 还可以方便地实现同一个JSP文件支持多种语言版本 由于标签是XML元素 所以它的名称和属性都是大小写敏感的 标签处理类 标签处理类似是Java类 这个类继
  • 绘图工具(代码实现绘图)---plantuml

    基础入门第一个例子 时序图 流程图 源代码 图片展示 还有很多这里不再介绍 最近看到asciidoc和plantuml 是编写文档的极好工具 相对word和visio 最大的好处是可以实现代码版本管理 作为changelist asciid