1

言語で超簡略化されたクラス図を作成しています。この図には、クラス名、継承、および集約を持つ単純なノードのみが含まれています。

継承エッジに特定のスタイルを設定し、親の下に子クラスを表示するために、次の設定を使用します。

subgraph inheritance {
    edge[dir="back"; arrowtail="empty"; arrowsize="1.75"];
    color=white;

    subgraph clusterExpression{
        Expression -> VariableExpression;
        Expression -> AssignmentExpression;

すべてが正常に機能しますが、サブクラスがたくさんあると、ダイアグラムが非常に広くなります。サブクラスが同じレベルにあるかどうかは関係ありません。

スーパークラスの下にあるすべてのサブクラスを最もコンパクトな方法で表示する方法はありますか?これの代わりに:ここに画像の説明を入力してください

私はこのようなものを手に入れたい: ここに画像の説明を入力してください

4

1 に答える 1

2

unflattenと呼ばれるgraphvizツールを試すことができます:

unflattenは、多くのリーフまたは切断されたノードを持つグラフのアスペクト比を改善するために使用される、ドットに対するプリプロセッサです。このようなグラフの通常のレイアウトは、一般的に非常に広いか高いです。unflattenは、非表示のエッジを挿入するか、エッジのミンレンを調整して、レイアウトの圧縮を改善します。

コマンドラインにパイプすることができます-例については、これらの 回答を参照してください。

于 2013-02-28T16:58:50.210 に答える