zoukankan      html  css  js  c++  java
  • Emacs 使用graphviz-dot-mode创建架构图

    安装

    首先要安装graphviz-dot-mode模块,假设list-packages的网站国内无法訪问,改为手动下载graphviz-dot-model.el。放到~/.emacs.d/文件夹下。

    然后改动init.el文件:

    ;; graphviz-dot-model
    (load-file "~/.emacs.d/graphviz-dot-model.el")

    ubutnu系统下要安装graphviz程序,

    apt-get install graphviz

    安装完毕。

    重新启动Emacs, 创建.dot文件后就能够開始工作了。


    有向图

    record node

    如今看一个简单的样例。dot语言编写:

    digraph departments {
    	parts [shape=record, label = "<f0> 基础设施 | <f1> 数据仓库 | <f2> 数据挖掘" ];
    }
    



    diagraph表示这是一个有向图, departments是这个图的id, 注意这里名称不能用-符号连接,能够用_符号连接。

    parts是一个node,它的形状是record,就是连续的格子表示一条记录,每一格是一个字段,label是显示的文字。<f0>这类标识了每一个字段。


    C-c c后生成png文件:



    edge

    以下的样例是两个User node互相有相应的edge.

    digraph colla_schema {
    	UserA -> UserB[label = "Liked", color = green];
    	UserB -> UserA[label = "Liked_By", color = red];
    }



    这个样例绘制了edge。并且有label和color 这些attributes,两条边分别代表了喜欢的主动与被动态。


    方向

    能够让图从左到右的顺序绘制。这在非常多架构图中都须要。
    digraph colla_data {
    	rankdir=LR;
    	
    	id2 -> id1[label = "Liked", color = green];
    	id2 -> id3[label = "Liked", color = green];
    	id3 -> id1[label = "Liked", color = green];
    	id3 -> id4[label = "Liked", color = green];
    	id5 -> id1[label = "Liked", color = green];
    	id5 -> id2[label = "Liked", color = green];
    	id5 -> id4[label = "Liked", color = green];
    }

    效果例如以下:






  • 相关阅读:
    hdu 2586 How far away ?
    zoj 3195 Design the city
    hust 1022 K-diff subsequence
    poj 2253 Frogger
    poj 1470 Closest Common Ancestors
    poj 2553 The Bottom of a Graph
    poj 1236 Network of Schools
    poj 3694 Network
    uva 10131 Is Bigger Smarter ? (简单dp 最长上升子序列变形 路径输出)
    2014年百度之星程序设计大赛
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7364405.html
Copyright © 2011-2022 走看看