GraphViz で再利用可能なスタイルを構築できますか? 質問する

GraphViz で再利用可能なスタイルを構築できますか? 質問する

私はフローチャートを作成するために graphviz を使用しています。ノードとエッジの属性を設定して、毎回スタイルを変更します。

node[shape="box", 
     style="filled, rounded", 
     fillcolor=lightyellow, 
     fontname="Verdana", 
     fontsize=9, 
     penwidth=.5, 
     color="gray83"]
   start, end;

これや、平行四辺形、長方形、ひし形などの他の同様の宣言を含めるのは少し面倒です。

.dot各ファイルにコピーして貼り付けるのではなく、再利用可能なスタイルのドキュメントを参照できるようにしたいと思います。

これを行う標準的な方法はありますか?できた潜在的には、これを自動的に実行するシェル スクリプトまたは Python スクリプトを作成する必要がありますが、機能はすでに存在しているようです。

ベストアンサー1

「答えは『ノー』であることもあります。」

それで、いいえGraphViz には、Microsoft Word や LibreOffice などのワード プロセッサに見られる「名前付きスタイル」の概念がなく、HTML や CSS のスタイル「クラス」の概念もありません。その書式設定属性はより原始的で、多くの場合、明示的に指定する必要があります。

いくつかのデフォルトを設定することができます。有限状態マシンの例:

node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8;
node [shape = circle];

ここでは、以前のデフォルト ( ) で宣言されたいくつかのノードを明示的に呼び出して、円形 (最後に定義された形状) をデフォルトとして設定します。これは一部の設計では便利ですが、事前の計画 (アイテムの宣言順序など) が必要になります。この機能を使用して、デフォルトをグループ別に整理することもdoublecircleできます。subgraphこのStack Overflowの回答が示すように

しかし、表現力豊かでシンプルな入力メカニズムに慣れている私たちにとって、デフォルトはちょっとした安心感です。ドキュメントの残りの部分を見ると、テキストに HTML スタイル要素を使用できるものの、たとえば、それらは や などの HTML タグに制限されていることが確認できます<b><i>これは、高品質の CSS が普及する前の、2001 年頃の原始的な HTML スタイルです。

この属性にも騙されないでくださいstylesheet。これは SVG 出力専用であり、残念ながら、最初に思ったほど汎用性や価値はありません。

つまり、簡単に言えば、「いいえ」です。GraphViz には、再利用可能なスタイル要素が組み込まれていません。それを希望する場合は、プログラム、マクロ プリプロセッサなどを使用して、別途構築する必要があります。申し訳ありません。

おすすめ記事