首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用python或perl生成uml序列图

用python或perl生成uml序列图
EN

Stack Overflow用户
提问于 2012-10-30 09:42:23
回答 2查看 7.3K关注 0票数 6

我有一些文本,我将处理,以生成一个,uml序列图,图像。我可以将pythonperl中的文本处理为现有的“text”工具的格式,但我试图消除这一额外步骤,直接从python脚本输出图像。

我是否可以使用python或perl包/模块?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-30 09:55:53

有几个Perl模块可以在perl中实现这一点,请参阅UML::State

摘自概要:

代码语言:javascript
复制
use UML::State;

my $diagram = UML::State->new(
  $node_array,
  $start_list,
  $accept_list,
  $edges
);

# You may change these defaults (doing so may even work):
$UML::State::ROW_SPACING = 75;  # all numbers are in pixels
$UML::State::LEFT_MARGIN = 20;
$UML::State::WIDTH       = 800;
$UML::State::HEIGHT      = 800;

print $diagram->draw(); 

CPAN是你的朋友。

票数 2
EN

Stack Overflow用户

发布于 2012-10-30 10:18:30

有许多Python的替代方案。

如果您想从头开始生成图像,您可能需要考虑PIL (Python ),这是Python的“事实上”映像库。

但是,特别是对于序列图,块图图像生成器库(也使用PIL )包括一个名为塞迪亚格的序列图生成器。例如,下面是如何定义和生成一个简单但完整的序列图,包括图表定义:

代码语言:javascript
复制
from seqdiag import parser, builder, drawer

diagram_definition = u"""
   seqdiag {
      browser  -> webserver [label = "GET /index.html"];
      browser <- webserver;
   }
"""
tree = parser.parse_string(diagram_definition)
diagram = builder.ScreenNodeBuilder.build(tree)
draw = drawer.DiagramDraw('PNG', diagram, filename="diagram.png")
draw.draw()
draw.save()

有关更多示例(序列)图定义和样式选项,请参见http://blockdiag.com/en/seqdiag/examples.html

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13136247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档