程序员如何画图?

程序员如何画图?,第1张

经常写完文章, 收到的第一个问题是: 你的图是用啥画的其实自己也经常问别人. 最近强化了一下这方面的知识, 总结一下.

个人将画图的场景分为两种: PPT/文章中使用和系统中使用

可能有人觉得 系统中画图 需求不多, 个人感觉还是有必要的. 经常遇到费劲开发了一个系统, 遇到各路用户问问题. 如果有办法在系统中将执行流程直接生成流程图, 你好我好大家好.

GUI 画图工具有很多可选, 个人比较推荐的是 OmniGraffle , 在线工具推荐 lucidchart . 当然, 我也见过用 KeyNote 画出漂亮的系统图的, 工具不重要, 关键看人(说多了都是泪)

重点说一下程序画图. 最近反省了一下, 画图最多的就是那几个:

没了. 真的没了. 会这几个就可以行走江湖了.

然后, 推荐两个 library: blockdiag 和 graphviz .

blockdiag 是一个神奇的 python libary. 可以通过使用类似 graphviz 的语法, 画出 块图, 序列图, 网络图, 活动图. 还提供了一个 交互式的 shell , 用于调试上述几种图. 例如, shell 中输入:

立即的到如下图:

点击右上角切换成序列图, 输入如下内容:

有可以轻松得到如下序列图:

但是说好的 library 呢? 以 seqdiag 为例,

Graphviz 可谓是一代画图神器, 通过官网的示例图就知道有多强大. blockdiag 也是参考 Graphviz 的实现. 通过类似的语法描述, 生成所需的图形. 对于颜色的选择, 可以参考文档中 Colors 一节, 非常全面.

程序方面, 同名的 graphviz library 可以使用 pip install graphviz 安装, 非常方便. 示例python 程序如下:

既然有了 library 可以画图, 强烈建议在自己的系统中将一些复杂的流程化的事情通过根据当前系统状态画出图的方式展现给用户, 可以避免很多疑惑.

问的是怎样通过画图得到坐标值吧。

只要画图时所用的原点与编程原点重合,则每个点的坐标就是编程用的坐标值。

画图软件有很多,不同的数控机床用的画图软件往往不同,二维加工用二维画图软件,三维加工用三维绘图软件。

可以用很多绘画软件,比如自然绘画软件--Corel Painter 9.0 、Adobe Photoshop CS等。

绘画软件简介:绘图软件,简言之即用来作图的软件,通常是指计算机用于绘图的一组程序,软件程序按功能可分为三类,并且程序的设计有一定的准则,常用的绘图软件有很多,例如Photoshop、Adobe image 、AutoCAD等。多个程序的汇集,组成功能齐全、能够绘制基本地图图形和各类常用地图的程序组,称为绘图软件系统,或称为绘图软件包。绘图软件通常用高级算法语言编写,以子程序的方式表示,每个子程序具有某种独立的绘图功能。绘图软件包是绘图子程序的汇集,可包括几十个至几百个子程序。用户根据需要,调用其中一部分子程序,绘制某种图形或一幅地图。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11285561.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存