2010-08-11 39 views
21

Vì vậy, tôi thấy các mô hình đồ họa được biểu diễn dưới dạng ký hiệu trong tài liệu nghiên cứu và trực tuyến mọi lúc (ví dụ: http://www.cs.princeton.edu/~blei/papers/BleiNgJordan2003.pdf).Phần mềm để vẽ các mô hình đồ họa theo ký hiệu dạng tấm

Có cách nào nhanh chóng và dễ dàng để sản xuất chúng không ?? Tôi đã tìm kiếm và tìm kiếm nhưng tất cả những gì tôi tìm thấy là các giải pháp như GraphViz thực sự mạnh hơn những gì tôi cần (và do đó khó sử dụng hơn). PGF/Tikz có vẻ giống như đặt cược tốt nhất của tôi, nhưng một lần nữa nó có vẻ như quá mức cần thiết.

Có lẽ đặt cược tốt nhất của tôi là chỉ sản xuất chúng trong Inkscape hoặc cắn viên đạn và tìm hiểu PGF/Tikz. Chúng quá phổ biến đến mức tôi nghĩ sẽ có cách đơn giản hơn để loại bỏ chúng, nhưng có thể không ... TIA.

Trả lời

7

GraphViz thực sự không phải là khó để tìm hiểu. Ngôn ngữ cơ bản thực sự đơn giản đối với các loại biểu đồ này. Tôi đã mất một vài phút để nhân rộng (nhiều hơn hoặc ít hơn) ví dụ đầu tiên từ bản pdf đó, và điều tốt đẹp về nó là do đơn giản, việc tạo biểu đồ một cách thủ tục từ một số nguồn dữ liệu khác khá dễ dàng.

Digraph fig1 { 
rankdir = LR; //order things from left to right 

//define alpha and beta as existing 
α [shape=circle]; 
β [shape=circle]; 
//not strictly nescessary but helps if you want to 
//assign them specific shapes or colours 

subgraph cluster_M //names beginning with "cluster" get a box drawn, an odd hack 
{ 
    label = "M" 

    θ [shape=circle]; 
    subgraph cluster_N 
    { 
     label = "N" 
     z [shape=circle]; 
     w [shape=circle, style=filled] 
     z->w; //quite literally z points at w 
    } 

    θ -> z; 
} 
α -> θ; 
β -> w; 
} 

biên soạn với dot -Tpng INPUT.TXT -o graph.png nó đi ra ngoài tìm kiếm như thế này. Nếu có các nhãn bên dưới các bong bóng là quan trọng, bạn có thể làm điều đó với một vài dòng phụ, tương tự nếu vị trí cụ thể của các nút quan trọng bạn cũng có thể điều chỉnh điều đó. Trong thực tế, nếu bạn không chỉ định định dạng hình ảnh, hành vi mặc định của dấu chấm là xuất ra phiên bản của tệp đầu vào với tọa độ cho vị trí của mỗi phần tử.

The output image

+1

LOL! Tôi vừa mới thấy câu hỏi này bao nhiêu tuổi. Ah tốt, tôi hy vọng câu trả lời của tôi sẽ hữu ích cho bất cứ ai khác tình cờ khi câu hỏi này. – Tyr

+0

Điều đó không quan trọng. Typo nhỏ mặc dù: 'w [hình dạng = vòng tròn; style = filled] 'phải có dấu phẩy, không phải dấu chấm phẩy:' w [shape = circle, style = filled] ' –

+0

Sửa lỗi. Cảm ơn. – Tyr

3

Tôi thực sự thích GLE (Graphics Layout Engine). Đó là những gì Christopher Bishop sử dụng trong cuốn sách của ông, "Nhận dạng mẫu và học máy". Nó có một cú pháp đơn giản với các biến, các vòng lặp và các hàm, và nó hỗ trợ các phương trình TeX. Kết quả đầu ra dưới dạng pdf hoặc eps và trông rất đẹp.

Rất nhiều examples có sẵn, bao gồm this Bayes net from PRML.