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
Reference
이 문제에 관하여(Graphiviz를 사용하여 PHP로 간단하게 트리 구조 그리기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ruddy95/items/098f3b623ae1b0f33b45
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
그렇게 편한 그라피비즈는 이번엔 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
Reference
이 문제에 관하여(Graphiviz를 사용하여 PHP로 간단하게 트리 구조 그리기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ruddy95/items/098f3b623ae1b0f33b45
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<?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'));
Reference
이 문제에 관하여(Graphiviz를 사용하여 PHP로 간단하게 트리 구조 그리기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ruddy95/items/098f3b623ae1b0f33b45텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)