2013-08-06 4 views
7

Я использую graphviz для рисования ориентированных графов. Теперь дело в том, что, хотя я умею правильно генерировать график, график проектируется горизонтально, что не соответствует моим требованиям. Итак, как я могу рисовать графики, направленные вертикально Пожалуйста, помогите мне с этимgraphviz график графика по вертикали

+3

Какая у вас установка [rankdir] (http://www.graphviz.org/doc/info/attrs.html#d:rankdir)? –

+0

@ Anders Lindahl Я не оценил свойства rankdir. пожалуйста, предложите мне, какую модификацию мне нужно выполнить. – user2060673

+2

Показать пример вашего описания графика и команду, которую вы используете для ее рендеринга. –

ответ

10

Учитывая следующий сценарий, который я извлек из комментариев к этому вопросу и отредактирован, чтобы успешно работать, удаляя некоторые посторонние запятой:

digraph G { 
    graph [ bgcolor=lightgray, resolution=128, fontname=Arial, fontcolor=blue, fontsize=10 ]; 
    node [ fontname=Arial, fontcolor=blue, fontsize=10]; 
    edge [ fontname=Helvetica, fontcolor=red, fontsize=10 ]; 
    "arunachaltourism.com/" -> "webcomindia.biz/profile.php"; 
    "arunachaltourism.com/#" -> "arunachaltourism.com/"; 
    "arunachaltourism.com/aalo.php" -> "arunachaltourism.com/"; 
} 

Я назвал сценарий x.dot. Теперь, выполнив команду:

dot x.dot -Tjpg -o x.jpg 

... производит:

enter image description here

... потому что по умолчанию rankdir=BT. Вставка:

rankdir=LR 

... как второй строке сценария и снова запустить скрипт через dot дает:

enter image description here

Таким образом, мне не понятно, почему граф может были сделаны горизонтально в первый раз, но вы сможете увидеть, как использование rankdir может сделать график выведенным либо горизонтально, либо вертикально.

+0

Это именно то, что я искал – curiosa

7

(! Старый вопрос, но почему бы и нет)

Также Вы можете запустить:

dot -Grankdir=LR -Tpng myfile.dot -ogeneratedpng.png 
0

Вы можете использовать rankdir как свойство в файле точка:

digraph G { 
    rankdir=LR; //left to right 
    //B bottom T top L left R right 
     start->a1; 
     a1 -> b3; 
     b2 -> a3; 
     a3 -> a0; 
     a3 -> end; 
     b3 -> end; 
    } 

скрипт сгенерируйте следующий график слева направо:

Вы можете попробовать сценарий online enter image description here

Смежные вопросы