2012-01-26 34 views
6

Tôi tự hỏi nếu có thể chia một nút thành hai màu khác nhau. Tôi đang sử dụng dấu chấm graphviz (http://www.graphviz.org/).Hai màu trong một nút có dấu chấm của graphviz?

Có lẽ một đường thẳng hoặc đường chéo có thể chia nút thành hai màu. Tôi muốn làm điều này bởi vì tôi có nhiều nút thuộc về hai loại khác nhau (màu sắc) với một số nút thuộc về cả hai.

Rất cám ơn, James

Trả lời

9

Gradient functionality chỉ thêm vào Graphviz vào ngày 26 Tháng 1 năm 2012; cho đến khi phiên bản ổn định mới của phiên bản 2.30.0 của Graphviz được phát hành, bạn sẽ cần phải phát hành phiên bản phát triển download Graphviz phiên bản 2.29.20120127.0545 hoặc mới hơn.

Ngoài ra, các gradient dường như chỉ được triển khai cho trình kết xuất Cairo/Pango cho đến nay; trong các thử nghiệm của tôi, các trình kết xuất đồ họa của Quartz (Mac) và GD trở lại chỉ sử dụng màu đầu tiên. Đặc biệt, điều này có nghĩa là nếu bạn đang sử dụng máy Mac và đang sử dụng trình xem Graphviz.app GUI, bạn sẽ không thấy các gradient ở đó (chưa).

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

enter image description here

+0

Cảm ơn (chỉ một chút cuối perahps!). Bây giờ tôi đã cập nhật Graphviz của tôi tôi sẽ có một cái nhìn tại đây :) – James

3

Tôi không nghĩ rằng có một giải pháp out-of-the-box có 2 màu nền.

Giải pháp tốt nhất là sử dụng gradient điền (fillcolor="orange:yellow") - nhưng trong tài liệu này, tôi không thể làm cho nó hoạt động trên hộp của mình.

Bạn có thể sử dụng HTML-like labels làm giải pháp thay thế. Bạn có thể cần để phân chia các nhãn để có nó làm trung tâm, tùy thuộc vào nhu cầu của bạn:

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

Cảm ơn cho một phản ứng nhanh chóng. Các gradient âm thanh hoàn hảo mặc dù như bạn, tôi không thể làm cho nó hoạt động hoặc. Nhãn HTML hoạt động tốt, cảm ơn bạn. Tôi sẽ chỉ chờ xem liệu có ai biết liệu gradient có hoạt động đúng hay không. – James

+0

@James Đây là một ví dụ: http://www.graphviz.org/Gallery/gradient/angles.html – ivanm

0

Có thể, nếu bạn sử dụng image thuộc tính của một nhãn và cung cấp một hình nền phù hợp:

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

Điều này cho phép đầu ra sau đây:

enter image description here

sử dụng range.png tập tin

enter image description here

Các vấn đề liên quan