2012-01-26 12 views
6

ノードを2つの異なる色に分割することが可能かどうか疑問に思っています。 私はgraphvizのドット(http://www.graphviz.org/)を使用しています。graphvizのドットが付いた1つのノードに2色ありますか?

おそらく、頂点または対角線によってノードが2つの色に分割される可能性があります。私は2つの異なるカテゴリ(色)に属し、いくつかのノードが両方に属している多くのノードを持っているので、これを実行したいと思います。

多くのおかげで、 ジェームズ

答えて

9

Gradient functionalityのみ2012年1月26日にGraphvizのに加え、 Graphvizの新しい2.30.0安定版がリリースされるまで、download Graphviz開発版2.29.20120127.0545以降が必要です。

さらに、Cairo/Pangoレンダラの場合にのみグラディエントが実装されているようです。私のテストでは、Quartz(Mac)とGDのレンダリングは最初の色だけに戻っています。特に、これは、Mac上でGraphviz.app GUIビューアを使用している場合、(まだ)グラデーションが表示されないことを意味します。迅速な対応のための

digraph G { 
    Gradient [style="filled", fillcolor="orange:yellow"] 
} 

enter image description here

+0

ありがとう(ちょっと遅いペラフス!)。今私は私のGraphvizを更新しました。これを見てください:) – James

3

私は2つの背景色を持っているために、すぐに使えるソリューションがあるとは思いません。

最善の解決策は、gradient塗りつぶし(fillcolor="orange:yellow")を使用することです - しかし、これはドキュメントであるが、私はそれが私のボックスに動作させることができませんでした。

回避方法としてHTML-like labelsを使用できます。あなたのニーズに応じて、それを中心に持っているラベルを分割する必要がある場合があります

a[shape="none", label=< 
<table cellpadding="0" cellborder="0" cellspacing="0" border="0"> 
<tr> 
<td bgcolor="orange">abc</td> 
<td bgcolor="yellow">def</td> 
</tr> 
</table> 
>] 

2 colors

+0

感謝。グラデーションはあなたのように完璧に聞こえますが、私はそれを働かせることもできませんでした。 HTMLラベルはうまくいきます、ありがとう。グラデーションが適切に機能するかどうか誰かが知っているかどうかを確認するだけです。 – James

+0

@Jamesここに例があります:http://www.graphviz.org/Gallery/gradient/angles.html – ivanm

0

ラベルのimage属性を使用して、適切な背景画像を提供する場合それは、可能です:

digraph G { 
    i1 [shape=none, image="range.png", label=""]; 
    i2 [shape=none, image="range.png", label="Image w label", imagescale=true]; 
    i1 -> i2; 
} 

これは、次のような出力が得られます。

enter image description here

range.pngファイル

を使用してenter image description here

関連する問題