当前位置: 首页 > news >正文

VScode通过Graphviz插件和dot文件绘制层次图,导出svg

1、安装插件

在VScode中安装Graphviz Interactive Preview插件,参考。

2、创建dot文件

在本地创建一个后缀为dot的文件,如test.dot,并写入以下内容:

digraph testGraph {label = "层次图";node [shape = square; width = 1; color = "#00000088"; fontcolor = white; style = filled; fontname = "Helvetica,Arial,sans-serif";];subgraph level3 {rank = same;A3}    subgraph level2 {rank = same;A2B2 [color = purple;]C2 [color = red;]D2 A2 -> B2A2 -> C2 -> A2}    subgraph level1 {rank = sameA1B1C1}A3 -> A2 -> A1B2 -> B1C2 -> C1 -> C2D2 -> B1
}

dot文件的语法,参考Graphviz官方API文档。

3、预览

点击VScode右上方的预览按钮
在这里插入图片描述
在这里插入图片描述

4、导出svg

在这里插入图片描述

5、切换其他图布局算法

下面给出一些示意图(以快速找到感兴趣的布局效果),具体算法介绍移步Graphviz官网。
在这里插入图片描述

5.1 circo布局

在这里插入图片描述

5.2 FDP布局

在这里插入图片描述

5.3 Neato布局

在这里插入图片描述

5.4 Osage布局

在这里插入图片描述

5.5 Patchwork布局

在这里插入图片描述

5.6 Twopi布局

在这里插入图片描述

6、使用C#第三方库生成dot文件

在NuGet中安装DotNetGraph库:
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 前端面试题整理
  • 揭开黑箱:目标检测中可解释性的重要性与实现
  • kail-linux如何使用NAT连接修改静态IP
  • Java面试题系列 - 第17天
  • FreeRTOS的互斥锁(互斥信号量)使用
  • grafana大坑,es找不到时间戳 | No date field named timestamp found
  • C语言 | Leetcode C语言题解之第240题搜索二维矩阵II
  • 【BUG】已解决:java.lang.reflect.InvocationTargetException
  • 设计模式-Git-其他
  • 游戏常用运行库安装包 Game Runtime Libraries Package
  • 期值(future)
  • Linux_线程的同步与互斥
  • Elasticsearch基础(五):使用Kibana Discover探索数据
  • Mybatis——动态SQL常用标签
  • JavaWeb笔记_Cookie
  • #Java异常处理
  • __proto__ 和 prototype的关系
  • 【comparator, comparable】小总结
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • 77. Combinations
  • CSS中外联样式表代表的含义
  • C语言笔记(第一章:C语言编程)
  • Electron入门介绍
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • Phpstorm怎样批量删除空行?
  • Python学习笔记 字符串拼接
  • Service Worker
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 技术:超级实用的电脑小技巧
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 前端工程化(Gulp、Webpack)-webpack
  • 入口文件开始,分析Vue源码实现
  • 入手阿里云新服务器的部署NODE
  • 三栏布局总结
  • 世界上最简单的无等待算法(getAndIncrement)
  • 数组大概知多少
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 关于Android全面屏虚拟导航栏的适配总结
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • 昨天1024程序员节,我故意写了个死循环~
  • ​【已解决】npm install​卡主不动的情况
  • ‌移动管家手机智能控制汽车系统
  • # 服务治理中间件详解:Spring Cloud与Dubbo
  • #stm32整理(一)flash读写
  • (3) cmake编译多个cpp文件
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (function(){})()的分步解析
  • (javascript)再说document.body.scrollTop的使用问题
  • (Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)
  • (Java入门)抽象类,接口,内部类
  • (笔试题)分解质因式
  • (回溯) LeetCode 77. 组合
  • (剑指Offer)面试题34:丑数