Graphiviz를 사용하여 PHP로 간단하게 트리 구조 그리기

이른바 Graphiviz


이것은 파일 구조와 학급 계승 관계를 식별하는 데 편리한 도구다.원래 DOT이라는 언어로 쓰였던 것이 그것을 바삐 맞추는 도구라고 한다.
Graphiviz와dot 언어로 도표를 그리는 방법의 총결

설치에 필요한


그렇게 편한 그라피비즈는 이번엔 PHP로 처리하려고 한다.
Graphiviz 자체 및 PHP에서 사용하는 패키지입니다.를 참고하십시오.
$ brew install graphviz
$ pear install Image_GraphViz

샘플 코드


예를 들어 A-Z의 문자열을 반으로 나누었다.각 레이어는 글꼴을 축소합니다.
<?php

require_once 'Image/GraphViz.php';

$a = range('A','Z');
$font_size = 20;
$file_name = 'data.png';

$g = new Image_GraphViz();

// ノードの登録
for ($i=0; $i < count($a); $i++) {
    $g->addNode(
        $a[$i],
        [
            'fontsize' => $font_size*(0.8**(strlen(decbin($i+1))-1)),
            'shape' => 'box'
        ]
    );
}

// エッジの登録
for ($i=0; $i < count($a); $i++) {
    if ($i != 0) {
        $g->addEdge(
            [
                $a[floor(($i-1)/2)] => $a[$i]
            ],
            [
                'label' => $a[floor(($i-1)/2)].'_'.$a[$i]
            ]
        );
    }
}

// PNGで出力
file_put_contents($file_name,$g->fetch('png'));
노드를 등록하고 가장자리로 연결하면 된다.사실은 매우 간단하다.

결과 내보내기


PEAR

좋은 웹페이지 즐겨찾기