我想知道是否可以将节点分成两种不同的颜色。 我正在使用graphviz的点(http://www.graphviz.org/)。
也许一个垂直线或对角线可以将节点分成两种颜色。我想这样做是因为我有许多属于两个不同类别(颜色)的节点,其中一些节点属于两者。
非常感谢, 詹姆斯
答案 0 :(得分:11)
Gradient functionality仅在2012年1月26日添加到Graphviz;在发布新的2.30.0稳定版Graphviz之前,您需要download Graphviz开发版本2.29.20120127.0545或更新。
此外,到目前为止,渐变似乎只适用于Cairo / Pango渲染器;在我的测试中,Quartz(Mac)和GD渲染器仅使用第一种颜色。特别是,这意味着如果您使用的是Mac并且正在使用Graphviz.app GUI查看器,那么您将看不到渐变(
)。digraph G {
Gradient [style="filled", fillcolor="orange:yellow"]
}
答案 1 :(得分: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 :(得分:1)
如果您使用标签的image
属性并提供合适的背景图片,则可以使用
digraph G {
i1 [shape=none, image="range.png", label=""];
i2 [shape=none, image="range.png", label="Image w label", imagescale=true];
i1 -> i2;
}
这给出了以下输出:
使用range.png
文件