Maison >Problème commun >Qu'est-ce que Graphviz

Qu'est-ce que Graphviz

青灯夜游
青灯夜游original
2023-02-01 16:35:473394parcourir

Graphviz est un outil logiciel de dessin automatisé par script multiplateforme open source (sous licence EPL) né des Bell Labs d'AT&T. Graphviz utilise un langage DSL appelé langage point pour écrire un fichier de script de fichier de script, puis utilise le moteur de mise en page de mise en page pour analyser le fichier de script de fichier de script afin d'effectuer un rendu de mise en page automatisé.

Qu'est-ce que Graphviz

L'environnement d'exploitation de ce tutoriel : système Windows 7, ordinateur Dell G3.

Qu'est-ce que Graphviz ?

Graphviz (Graph Visualization) est un logiciel open source (autorisé EPL) né au début des années 1990 des Bell Labs de AT&T , Multiplateforme outil logiciel de dessin automatisé scripté. Graphviz(Graph Visualization)是1990年代初诞生于AT&TBell实验室的一个开源的 (EPL授权)跨平台脚本自动化绘图软件工具

Graphviz使用一种称为dot语言的DSL(Domain Special Language)语言编写Script File脚本文件,然后使用Layout布局引擎解析这个Script File脚本文件完成 自动化布局渲染

AT&T是美国三大的电信运营商之一,现在美国的电信运营商行业也是从原AT&T被强行支解后再不断合并后形成群雄逐鹿的竞争局面。
AT&T的前身是Bell电话公司Bell电话公司是发明电话的公司。
在IT软件世界中,Bell实验室创造了UnixC语言等一系列伟大的发明。

Graphviz脚本文件一般以.gv.dot为文件扩展名,由于Microsoft Office Word模板文件的扩展名也是.dot,为避免冲突,一般建议Graphviz脚本文件的扩展名保存为.gv

备注: 在Graphviz中,dot这个词主要有三种不同的用途:

  • GraphvizScript脚本的语言名称/语法名称

  • Graphviz其中一种 Layout名称,同时也是 其中一种 CLI命令名称

  • Graphviz其中一种 Script File(脚本文件)常用扩展名

为什么要使用Graphviz?

  • 自动排版效率更高: Graphviz主要用于绘制“关系图”,Graphviz自动排版以使“最小化连线交叉”,Graphviz的自动排版比“所见即所得”的绘画软件(如:OmnigraffleMicrosoft Office Visio等)

  • 文本文件管理更方便: VCS(Version Control System版本控制系统)对“所见即所得”的绘画软件生成的文件无法有效地进行版本管理,而文本文件则可以在VCS中有效地被进行版本管理起来

  • 其他自动化绘图工具的基础: Graphviz是其他自动化绘图工具的基础(如PlantUML等),也是很多Data Visualization数据可视化工具的基础,有点类似于PythonMatplotlib的作用

Graphviz的基本组成结构和使用流程

Graphviz的基本组成结构包括Layout自动化布局工具Script脚本文件两部分。

Script脚本文件主要包括Elements实体Attributes属性两部分。

Elements实体主要包括Graph图Node节点Edge连线三种类型。

备注: 如果需要在软件中调用GraphvizGraphviz还提供了C/CPPJavaPythonphp等语言的API

Quest-ce que Graphviz
Graphviz基本组成结构

Graphviz
Graphviz utilise un langage DSL (Domain Special Language) appelé langage dot pour écrire un fichier de script Script File , puis utilisez le Moteur de mise en page pour analyser ce Fichier de script de fichier de script afin d'effectuer le rendu de mise en page automatisé.

Quest-ce que GraphvizAT&T est l'un des trois principaux opérateurs de télécommunications aux États-Unis. Aujourd'hui, le secteur des opérateurs de télécommunications aux États-Unis a été séparé de force de l'ancien AT&T, puis. fusionné pour former un groupe de héros. Une situation compétitive.
AT&T était autrefois Bell Telephone Company, et Bell Telephone Company était la société qui a inventé le téléphone.

Dans le monde des logiciels informatiques, les Bell Labs ont créé une série de grandes inventions telles que Unix et le Langage C. 🎜🎜🎜Les fichiers de script Graphviz ont généralement .gv ou .dot comme extension de fichier, car Microsoft Office Word L'extension du fichier modèle est également .dot Pour éviter les conflits, il est généralement recommandé d'enregistrer l'extension du fichier de script Graphviz sous .gvcode>. 🎜🎜🎜<strong>Remarque : Dans Graphviz, le mot <code>dot a trois utilisations principales différentes : 🎜
    Nom du langage/nom de la grammaire du Script de 🎜Graphviz🎜
  • L'un des de 🎜Graphviz Un nom Layout, ainsi qu'un un nom de commande CLI🎜
  • 🎜Graphviz L'un des Fichier de script (fichier de script)Extensions courantes🎜
🎜🎜Pourquoi utiliser Graphviz ? 🎜
  • 🎜La composition automatique est plus efficace : Graphviz est principalement utilisé pour dessiner des "schémas de relations" , Graphviz se met automatiquement en page pour "minimiser les croisements de lignes". La mise en page automatique de Graphviz est meilleure que les logiciels de dessin "ce que vous voyez est ce que vous obtenez" (tels que : Omnigraffle code>, Microsoft Office Visio, etc.)🎜
  • 🎜La gestion des fichiers texte est plus pratique : VCS (Système de contrôle de version)Les fichiers générés par le logiciel de peinture "Ce que vous voyez est ce que vous obtenez" ne peuvent pas être efficacement versionnés, tandis que les fichiers texte peuvent être efficacement versionnés dans <code>VCS🎜
  • 🎜La base d'autres outils de dessin automatisés : Graphviz est la base d'autres outils de dessin automatisés (tels que PlantUML, etc.), et aussi de nombreux Data Visualization est quelque peu similaire au rôle de Matplotlib dans Python🎜 ul>🎜La structure de base de Graphviz et le processus d'utilisation🎜🎜La structure de base de Graphviz comprend deux parties : l'Outil de mise en page automatisé et le Fichier de script. 🎜🎜Le Fichier de script comprend principalement deux parties : Entité Elements et Propriété Attributs. 🎜🎜Les Entités d'éléments comprennent principalement trois types : Graph, Node et Edge connection. 🎜🎜🎜Remarque : Si vous devez appeler Graphviz dans le logiciel, Graphviz fournit également C/CPP, Java , <code>Python, php et API d'autres langages. 🎜🎜🎜Quest-ce que Graphviz🎜La structure de base de Graphviz🎜🎜Graphviz est également très simple et pratique à utiliser. Son processus général est le suivant : 🎜🎜🎜🎜🎜Processus d'utilisation générale de Graphviz🎜.

    Client autonome MacOS pour Graphviz

    avant MacOS 10.6 par La version de Glen Low de l'interface graphique MacOS X MacOS 10.6之前由Glen Low开发的MacOS X GUI版本于2004年获得了两项苹果设计奖( "Best Product New to Mac OS X Runner-Up""Best OS X Open Source Product 2004 Winner" ),当时的MacOS X基于PowerPC CPU,该Graphviz GUI版自2004年08月23日发布支持MacOS 10.3的1.13版本之后该就没有再更新,即:该Graphviz GUI版不能在当今基于Intel CPU的macOS中运行。。

    MacOS 10.2和10.3基于PowerPC CPU,2005年发布的10.4开始同时基于Intel CPUPowerPC CPU,2009年发布的10.6不再支持PowerPC CPU

    目前暂未发现有支持MacOS X 10.6以后的独立GUI客户端MacOS X 10.6以后可以使用CLI或在其他内嵌Graphviz工具中使用(比如:在ATOM编辑器中使用markdown-preview-enhanced插件中可嵌入Graphviz Script File a remporté deux Apple Design Awards en 2004 ("Meilleur nouveau produit pour Mac OS X Finaliste"

    et

    "Meilleur système d'exploitation ), à l'époque MacOS X était basé sur un processeur PowerPC et la version de l'interface graphique Graphviz a été publiée le 23 août 2004 pour prendre en charge MacOS 10.3 . mis à jour depuis la version 1.13, c'est-à-dire : la version de l'interface graphique de Graphviz ne peut pas fonctionner dans le macOS actuel basé sur un CPU Intel. .

    MacOS 10.2 et 10.3 sont basés sur un CPU PowerPC, et la version 10.4 publiée en 2005 a commencé à être basée à la fois sur un CPU Intel et un CPU PowerPC code> en 2009 La version 10.6 ne prend plus en charge le <code>CPU PowerPC.

    Actuellement, il n'existe pas de client GUI indépendant prenant en charge MacOS X 10.6 ou version ultérieure. Il peut être utilisé après MacOS X 10.6code> <code>CLI ou utilisé dans d'autres outils Graphviz intégrés (par exemple : dans ATOM

    L'utilisation du plug-in markdown-preview-enhanced dans l'éditeur ATOM peut intégrer un Fichier de script Graphviz).

    Le code source du script illustré dans cet article

    Code source du script point Grpahviz de la structure de base🎜🎜
    digraph gv_basic_structure{
        label=<<B>Graphviz基本组成结构</B>>;
        labelloc=t;
        bgcolor=transparent;
        
        node[shape=box];
        //edge[style=bold];
        
        graphviz[label="Graphviz"];
        
        subgraph{
            layout[label="Layouts"];
            script[label="Script Files"];
            api[label="APIs"]
            rank=same;
        }
        
        graphviz -> layout;
        graphviz -> script;
        graphviz -> api;
        
        
        script ->
        subgraph{
            element[label="Elements"];
            attribute[label="Attributes"];
            rank=same;
        }
        
        layout ->
        subgraph{
            layout_etc[label="......"];
            layout_dot[label="dot"];
            layout_neato[label="neato"];
        }
        
        element ->
        subgraph{
            ele_graph[label="Graph"];
            ele_node[label="Node"];
            ele_edge[label="Edge"];
        }
    }
    🎜🎜Graphviz utilise le processus général du code source PlantUML🎜🎜
    @startuml
    start
    :定义Graph属性;
    :定义Node、Edge默认属性;
    :添加Node和Edge;
    :定义特定Node、Edge的个性属性;
    :使用CLI或GUI布局引擎工具渲染绘制;
    end
    @enduml
    🎜Pour plus de connaissances liées à la programmation, veuillez visiter : 🎜Enseignement de la programmation 🎜 ! ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Quel dossier est le bureau ?Article suivant:Quel dossier est le bureau ?