前の関連記事:linuxBean14.04(41)pycallgraphでPythonのコールグラフ:その2
pycallgraphでgraphvizを選択したときに指定できるオプション一覧を見ます。
graphvizのオプション一覧
graphvizのオプションはgraphvizの後ろに指定します。
pq@pq-VirtualBox:~$ pycallgraph graphviz --help
usage: pycallgraph [options] OUTPUT_TYPE [output_options] -- SCRIPT.py [ARG ...]
positional arguments:
SCRIPT The Python script file to profile
ARG Python script arguments.
optional arguments:
-h, --help show this help message and exit
-l TOOL, --tool TOOL The tool from Graphviz to use, e.g. dot, neato, etc.
-o OUTPUT_FILE, --output-file OUTPUT_FILE
The generated Graphviz file
-f OUTPUT_FORMAT, --output-format OUTPUT_FORMAT
Image format to produce, e.g. png, ps, dot, etc. See
http://www.graphviz.org/doc/info/output.html for more.
--font-name FONT_NAME
Name of the font to be used
--font-size FONT_SIZE
Size of the font to be used
これらのオプションは/usr/local/lib/python3.3/dist-packages/pycallgraph/output/graphviz.pyにデフォルト値が書いてあります。--tool TOOL/-l TOOL
デフォルトはdot以外にgraphvizのツールneato, fdp, sfdp, twopi, circo, osage, patchworkなどが指定できるそうです。
Graphvizレイアウトサンプルに例の解説があります。
pycallgraph graphviz -l neato /usr/lib/python3.3/site.py
すごくバラけますね。グループ分けはされないようです。
pycallgraph graphviz -l fdp /usr/lib/python3.3/site.py
これはグループ分けは保持されています。
pycallgraph graphviz -l sfdp /usr/lib/python3.3/site.py
エラーがでて出力されませんでした。
pycallgraph graphviz -l twopi /usr/lib/python3.3/site.py
これもグループ分けがありません。
pycallgraph graphviz -l circo /usr/lib/python3.3/site.py
エラーがでて出力されませんでした。
pycallgraph graphviz -l osage /usr/lib/python3.3/site.py
これはエッジが交錯してわかりにくいです。
pycallgraph graphviz -l patchwork /usr/lib/python3.3/site.py
もうなにがなんだかわかりません。
--output-file 出力ファイル名/-o 出力ファイル名
--output-format ファイル形式/-f ファイル形式,
デフォルト出力ファイル名./pycallgraph.pngとそのファイル形式を変更できます。
出力できるファイル形式一覧はOutput Formats | Graphviz - Graph Visualization Softwareにあります。
--font-name FONT_NAME
--font-size FONT_SIZE
デフォルトフォントVerdanaとフォントサイズ7を変更できます。
ちなみに/usr/local/lib/python3.3/dist-packages/pycallgraph/output/graphviz.pyにグループ名のフォントサイズのデフォルトは10でグループを囲む線の色はRGBA=(0,0,0,0.8)で指定されています。
pycallgraph graphviz --font-size 20 /usr/lib/python3.3/site.py
これでグループ分けのフォントの2倍になるはずですがなりませんね。
graphviz.pyのデフォルトフォント設定をいじるとちゃんと2倍になったので--font-sizeのオプションが効いていないようです。
参考にしたサイト
Graphvizレイアウトサンプル
Graphvizのグラフの形の例。
Graphviz | Graphviz - Graph Visualization Software
Graphvizのグラフの形の解説。今回sfdpとcircoは出力できませんでした。
Output Formats | Graphviz - Graph Visualization Software
Graphvizの出力ファイル形式一覧。






0 件のコメント:
コメントを投稿