Go-Diagrams用 Go 创建系统图表
Go-Diagrams 是一个松散的图表端口,可以用 go 编程来画出漂亮的图表。
用法
go get github.com/blushft/go-diagrams
创建图形:
d, err := diagram.New(diagram.Label("my-diagram"), diagram.Filename("diagram")) if err != nil { log.Fatal(err) } fw := generic.Network.Firewall().Label("fw") sw := generic.Network.Switch().Label("sw") d.Connect(fw, sw)
渲染输出:
if err := d.Render(); err != nil { log.Fatal(err) }
Go-Diagrams 会在当前工作目录中创建一个包含 graphviz.DOT 文件和图像资源的文件夹。
使用任何兼容 graphviz 的渲染器创建输出图像:
dot -Tpng diagram.dot > diagram.png
用例
输入
d, err := diagram.New(diagram.Filename("app"), diagram.Label("App"), diagram.Direction("LR")) if err != nil { log.Fatal(err) } dns := gcp.Network.Dns(diagram.NodeLabel("DNS")) lb := gcp.Network.LoadBalancing(diagram.NodeLabel("NLB")) cache := gcp.Database.Memorystore(diagram.NodeLabel("Cache")) db := gcp.Database.Sql(diagram.NodeLabel("Database")) dc := diagram.NewGroup("GCP") dc.NewGroup("services"). Label("Service Layer"). Add( gcp.Compute.ComputeEngine(diagram.NodeLabel("Server 1")), gcp.Compute.ComputeEngine(diagram.NodeLabel("Server 2")), gcp.Compute.ComputeEngine(diagram.NodeLabel("Server 3")), ). ConnectAllFrom(lb.ID(), diagram.Forward()). ConnectAllTo(cache.ID(), diagram.Forward()) dc.NewGroup("data").Label("Data Layer").Add(cache, db).Connect(cache, db) d.Connect(dns, lb, diagram.Forward()).Group(dc) if err := d.Render(); err != nil { log.Fatal(err) }
输出图片:
评论
iTradePython图表、贸易系统
iTrade项目是一个用Python开发的开源图表、贸易系统,基于GPL发布。iTrade功能主要集中在Marketplace:Marketdaysopen/close,liveconnect,...
iTradePython图表、贸易系统
0
penrose使用数字符号创建漂亮图表
penrose帮你实现只需在纯文本中键入数学符号即可创建漂亮的图表。penrose是一个尚处于发展阶段的早期系统。我们的系统还没有为贡献或公共使用做好准备,但希望很快就能实现。如果您对合作感兴趣,请给
penrose使用数字符号创建漂亮图表
0
PhotoFilmStrip用照片创建视频
PhotoFilmStrip是一个用Python开发的,只需简单的三步就可以把批量照片制作成视频的小工具,支持把视频输出为VCD,SVCD,DVD或FULL-HD格式。
PhotoFilmStrip用照片创建视频
0