Размер графика Проблема - PullRequest
2 голосов
/ 26 марта 2020

Я использую следующие пакеты / версии:

graphviz-2.38 (https://graphviz.gitlab.io/_pages/Download/Download_windows.html)

версия пакета graphviz py: 0.4.3 ( https://pypi.org/project/graphviz/)

Примечание: Попробовано также обновление до последней версии "0.13.2"

python 3.5.4

График создается с помощью Digraph (то есть)

from graphviz import Digraph

tree = Digraph(comment='Dependency_tree_of_' + Job,format='pdf')
# tree.attr(kw='graph', width="1200pt", height="900pt",fixedsize='true') <-- did not help
tree.node(job, style = "filled", fillcolor = "red")

Когда я генерирую график локально, PDF генерируется, как и ожидалось. Но когда я внедряю это в службу приложений azure и пытаюсь запустить там сценарий python, ширина PDF слишком велика, и узлы повсюду.

Ожидается: enter image description here

простой формат:

graph 1 5.3053 1.5
node A 2.6527 1.25 1.4985 0.5 "King Arthur" solid ellipse black lightgrey
node B 1.2638 0.25 2.5276 0.5 "Sir Bedevere the Wise" solid ellipse black lightgrey
node L 4.0416 0.25 2.5276 0.5 "Sir Lancelot the Brave" solid ellipse black lightgrey
edge A B 4 2.3444 1.0203 2.1574 0.8894 1.9155 0.72009 1.708 0.57486 solid black
edge A L 4 2.9609 1.0203 3.148 0.8894 3.3898 0.72009 3.5973 0.57486 solid black
edge B L 4 2.5279 0.25 2.5641 0.25 2.6003 0.25 2.6365 0.25 solid black
stop

enter image description here

Вот график, который генерируется на сервере: https://www.dropbox.com/s/0wjnwbjg86n0cfl/az_dependency_tree.pdf?dl=0

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

enter image description here

обычный формат:

graph 1 149 1.5
node A 74.379 1.25 40.766 0.5 "King Arthur" solid ellipse black lightgrey
node B 37.074 0.25 74.148 0.5 "Sir Bedevere the Wise" solid ellipse black lightgrey
node L 111.7 0.25 74.599 0.5 "Sir Lancelot the Brave" solid ellipse black lightgrey
edge A B 4 66.135 1.0212 60.17 0.86581 52.117 0.65594 46.001 0.49655 solid black
edge A L 4 82.627 1.0212 88.592 0.86584 96.646 0.65604 102.76 0.49666 solid black
edge B L 4 74.149 0.25 74.186 0.25 74.222 0.25 74.258 0.25 solid black
stop

Пожалуйста, дайте мне знать, если у вас есть какие-либо советы / идеи для решения этой проблемы.

спасибо

1 Ответ

0 голосов
/ 06 апреля 2020

Если вы видите graph 1 149 1.5 как простой текст , вы можете предположить, что вам нужно / можно / нужно использовать атрибут Graph size .

Согласно Python graphviz docs

tree = Digraph(comment='Dependency_tree_of_' + Job,format='pdf')
tree.graph_attr["size"] = "8,12"

Возможно, атрибут ratio необходим / мешает размеру.

...