graphviz

graphviz 中文版 v2.28

软件大小:56.57MB
软件类型:国产软件
软件语言:简体中文
软件授权:免费软件
软件分类: 图像其它
支持系统:

      Graphviz中文版是一款专为程序员而设计开发的页面简洁大方,功能强大,适用范围广,操作逻辑清晰明确的专业绘图利器,这是一款开源图形可视化软件,可以以图表的形式呈现结构信息,Graphviz中文版具有各种实际用途,特别是在工程中。软件提供了Jupyter笔记本、径向布局、圆形布局、引用和类似HTML的标签、子图和集群、自定义DOT语句、使用原始DOT等多种强大的功能!

截图
功能介绍

      理解或学习工程,生物信息学,设计或网络原理的最简单方法之一是创建图形,可视化它们并建立连接。

      Graphviz中文版是一个功能丰富的软件解决方案,可供所有想要预览为各种域创建的图表或图表的人使用。

      该应用程序在没有特殊要求的情况下运行,因此您可以在安装后的几秒钟内开始使用其用户友好的图形界面。

      Graphviz中文版允许您从头开始创建新图表,或者您可以打开现有图表,以便预览其内容或修改它们。

      您可以先加载某个图形,预览布局,然后根据需要调整其设置 - 只要执行更改,就可以重新加载布局,以确保您确实修改了预期的部分。图表。

      根据您想要处理的项目类型,Graphviz允许您选择最适合您需求的布局引擎:dot,circo,fdp,neato,nop,nop1,nop2,osage,patchwork或sfdp。

软件特色

      轻松调整您的工作布局。

      将图形导出为图片和其他文件。

      您还可以选择在完成图形后用于导出图形的目标格式,即您可以选择BMP,PNG,JPE,JPEG,PDF,EPS,图元文件,cmap,图形,SVG,平面,PS2,TIFF,VML等等。

      您还可以设置您喜欢的范围,无论是图形,节点还是边缘,然后指定名称类型和要添加的值。

      总而言之,Graphviz不仅可以帮助用户预览和可视化图形中的连接,还可以创建和修改代表各种网络的图表。尽管如此,建议新手在冒险测试应用程序的功能之前花些时间分析文档。

使用说明

      dot

      此格式依赖于DOT语言来描述图形,其中属性作为名称 - 值对附加.cgraph库为DOT中表示的图形提供了解析器。使用它,可以使用agget或agxget轻松读取图形并查询所需的属性。所引用的各种类型的字符串表示在附录E.On输出中描述,该图形将具有矩形类型的bb属性,指定绘制的边界框。如果图形具有标签,则其位置由point类型的lp属性指定。每个节点获取pos,width和height属性。第一个具有类型点,并以点为单位指示节点的中心。 width和height属性是浮点数,给出节点边界框的宽度和高度(以英寸为单位)。如果节点具有记录形状,则在rects属性中给出记录矩形。它具有以空格分隔的矩形列表的格式。如果节点是多边形(包括椭圆)并且为节点定义了顶点属性,则此属性将包含节点的顶点(以英寸为单位),作为以空格分隔的pointf值列表。对于椭圆,对曲线进行采样,使用的点数由samplepoints属性控制。这些点是相对于节点的中心给出的。还要注意,这些点只给出节点的基本形状;它们没有反映出任何内部结构。如果节点具有大于1的外围,或者类似“Msquare”的形状,则thevertices属性不表示额外的曲线或线。每个边都被赋予具有splineType类型的pos属性。如果边缘有标签,则标签位置在点类型的lp中给出。

      XDOT

      xdot格式是点格式的严格扩展,因为它提供与点相同的属性以及其他绘图属性。 这些附加属性指定如何使用原始图形操作绘制图的每个组件。 这在处理节点形状和箭头时特别有用。 与上述顶点属性提供的信息不同,xdot中的extraattributes提供所有几何绘图信息,包括各种类型的箭头和具有对齐变化的多线标签。 此外,所有参数都使用相同的单位。表1中列出了六个新属性。这些绘图属性仅附加到节点andedges。 显然,最后四个属性仅附加到边缘。

      plain

      普通格式是基于行的,并且非常易于解析。 这适用于需要避免使用cgraph库的应用程序。 这种简单性的代价是格式编码的基本位置信息之外的非常简单的布局信息。 如果应用程序需要的内容多于格式中提供的内容,则应使用点或xdot格式。有四种类型的行:graph,node,edge和stop。 输出由单个图形线组成; 一系列节点线,每个节点一个; 一系列边缘线,每个边缘一个; 和单个终止停止线。 所有单位均以英寸为单位,以浮点数表示。如上所述,这些语句的格式非常简单。

      布置图表

      一旦图形存在并且设置了属性,应用程序就可以通过调用gvLayout将图形传递给Graphvizlayout函数之一。作为参数,该函数采用指向GVC t的指针,指向要布局的图形,以及所需布局算法的名称。算法名称与第1节中列出的布局程序的名称相同。因此,“点”用于调用点等.2给定图形和属性,布局算法将执行相应程序将执行的所有操作。这包括分配节点位置,将边缘表示为样条线3,处理未连接图形的特殊情况,以及处理各种技术特征,例如防止节点重叠。库中有两个特殊的布局引擎:“nop”和“nop2”。它们分别对应于标志-n和-n2的neato命令。也就是说,他们假设输入graphalready具有为节点存储的位置信息,并且在后一种情况下具有一些边缘。它们可以在图表中使用toroute边缘或执行其他调整。请注意,他们希望位置信息在节点和边缘中被归为pos属性。应用程序可以自己执行此操作,或使用点渲染器。例如,如果想要使用点布局定位图形的节点,但希望边缘绘制为直线段,则可以使用图2中所示的以下代码。第一次调用gvLayout使用点放置该图;第一次调用gvRender将计算出的位置信息附加到节点andedges。对gvLayout的第二次调用为已经定位的节点添加了直线边缘;第二次调用gvRender输出png中的图形为stdout。

      绘制节点和边

      利用上述位置和大小信息,应用程序可以绘制图形的节点和边缘。它可以只使用矩形或圆形表示节点,并将边缘表示为线段或样条线.4此惯例仅适用于dot和xdot渲染器,并且才有意义。对于其他渲染,NULL流将导致输出写入stdout。这是cgraph库的限制。我们计划通过转移到允许对节点,边和图结构进行任意动态扩展的机制来消除此限制。同时,如果应用程序需要添加额外的字段,它可以定义自己的结构,这应该是信息类型组件的扩展,最后附加的附加字段。然后,它不是调用aginit(),而是使用更通用的aginitlib(),并提供其节点,边和图的大小。这将确保这些组件具有正确的尺寸和对齐方式。应用程序可以将通用cgraph类型转换为它定义的类型,并访问其他字段.6我们强烈建议不要直接访问字段,这是编程风格良好的常见原因。通过使用宏,源代码不会受到提供值的任何更改的影响.7 neato和fdp布局允许图形指定节点的固定位置。不幸的是,在Graphviz中完成的一些后期处理会转换布局,使其左下角位于原点。为了恢复原始坐标,应用程序将需要通过向量p0-p转换所有位置,其中p0和p是输入位置和位置固定的某个节点的最终位置。

      在布局内

      每个Graphviz布局算法由多个步骤组成,其中一些步骤是可选的。由于Graphviz库中用于布局图形的唯一入口点是函数gvLayout,因此使用哪些步骤的控制由图形属性确定,与将图形传递给布局程序之一时控制相同。在本节中,我们提供了布局步骤的高级描述,并注意了相关属性。在这里,我们假设图形已连接。所有布局都处理未连接的图形。但有时,应用程序可能不想使用内置技术。对于这些情况,Graphviz提供用于分解图形,然后组合多个布局的工具。这在第7节中描述。在所有算法中,第一步是调用特定于布局的初始化函数。这些函数初始化特定算法的图形。这将首先调用常见例程来设置基本数据结构,尤其是与最终布局结果和代码生成相关的结构。特别地,此时将分析和设置节点的大小和形状,应用程序可以通过ND宽度,ND高度,ND ht,ND lw,ND rw,ND形状,ND形状信息和ND labelattributes来访问。然后,初始化将建立特定于给定算法的数据结构。当相应的清理函数被称为ingvFreeLayout时,将释放通用和特定布局资源。默认情况下,布局算法定位边缘以及图形的节点。由于这可能是昂贵的计算和与应用程序无关,应用程序可能决定避免这种情况。这可以通过将图形的样条线属性设置为空字符串“”来实现。算法都以后处理步骤结束。这样做的作用是对布局进行最后的修补,仍然在布局坐标中。具体来说,该函数旋转点的布局(如果是rankdir isset),附加根图的标签(如果有的话),并规范化绘图,使其边界框的左下角位于原点。除了点,算法还提供节点在阵列中的位置(以英寸为单位)由ND pos给出。

      图形渲染器

      在Graphviz中完成的所有图形输出都通过gvrender引擎类型的渲染器进行,用于调用gvRender。除了作为库的一部分的渲染器之外,应用程序可以提供自己的,允许它根据需要专门化或控制输出。有关更多详细信息,请参见第6.1节。在gvLayout调用的布局阶段,对渲染方面的所有控制都通过graph属性处理。例如,属性outputorder确定是否在任何节点之前绘制所有边,或者在任何边之前绘制所有节点。在详细描述渲染器函数之前,概述输出的完成方式可能会有所帮助。可以将输出视为文档组件的层次结构。最高级别是作业,表示输出格式和目标。绑定到工作可能是多个图形,每个图形都嵌入在一些通用空间中。如图所示,每个图可以被划分为多个层,这由图的层属性确定。每个层可以被分成2维的页面阵列。然后,页面将包含节点,边和群集。其中每个都可能包含一个HTML锚点。在渲染过程中,每个组件都会反映在对应的begin ...和end ...函数的成对调用中。如果只有一个层或封闭组件没有浏览器信息,则省略图层和锚点组件。图3列出了gv渲染引擎t的字段的名称和类型签名,它们用于发出上述组件.9所有这些函数采用GVJ t *值,其中包含有关当前渲染的各种信息,例如输出流(如果有),或设备大小和分辨率。大多数函数处理嵌套图结构。所有图形输出均由textpara,ellipse,polygon,beziercurve和折线函数处理。通过GVJ t *参数的obj字段可以获得相关的绘图信息,例如颜色和笔样式。这将在第5.2节中描述。字体信息与文本一起传递。我们注意到,在Graphviz中,图形中的每个节点,边缘或集群都有一个唯一的id字段,可用作存储和访问对象的密钥。

graphviz下载地址

Windows版下载
普通下载:

百科推荐

下载排行

近期更新

graphviz

graphviz