Graphical-Model

繪製貝葉斯網絡的軟件(圖形模型)

  • October 9, 2011

我正在尋找可以生成漂亮圖形模型的 [免費] 軟件,例如

在此處輸入圖像描述

任何建議,將不勝感激。

我目前有一個類似的問題(為我的論文繪製多個路徑圖),所以我已經檢查了這裡列出的許多選項來繪製類似的圖表。許多列出的用於繪製此類矢量圖形的資源(例如在 microsoft office 或 google 繪圖中)可以生成非常漂亮的路徑圖,而且工作量非常小。但是,我對這樣的程序不滿意的部分原因是我需要製作許多圖表,每個圖表之間只有相當小的更改(例如添加另一個節點,更改標籤)。指向和單擊矢量圖形工具不太適合這種情況,並且需要花費更多的精力來進行如此小的更改。此外,在許多圖紙之間維護模板也變得困難。因此,我決定檢查以編程方式生成此類圖形的選項。

正如 thias 已經提到的,Graphviz 非常接近於擁有我想要的所有花里胡哨的圖形(以及生成它們的非常簡單的代碼),但它在兩個方面未能滿足我的需求;1)缺少數學字體(例如,我不確定您是否可以用Graphviz 中的符號,2) 曲線很難繪製(請參閱@Stask 網站上關於使用 Graphviz繪製路徑圖的這篇文章)。由於這些限制,我目前(非常高興地)決定在 Latex 中使用Tikz/pgf繪圖庫。下面是我嘗試複製您的圖形的一個示例(最大的痛苦是框右下角的標籤!);

在此處輸入圖像描述

\documentclass[11pt]{report}
\usepackage{tikz}
\usetikzlibrary{fit,positioning}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\tikzstyle{main}=[circle, minimum size = 10mm, thick, draw =black!80, node distance = 16mm]
\tikzstyle{connect}=[-latex, thick]
\tikzstyle{box}=[rectangle, draw=black!100]
 \node[main, fill = white!100] (alpha) [label=below:$\alpha$] { };
 \node[main] (theta) [right=of alpha,label=below:$\theta$] { };
 \node[main] (z) [right=of theta,label=below:z] {};
 \node[main] (beta) [above=of z,label=below:$\beta$] { };
 \node[main, fill = black!10] (w) [right=of z,label=below:w] { };
 \path (alpha) edge [connect] (theta)
       (theta) edge [connect] (z)
  	(z) edge [connect] (w)
  	(beta) edge [connect] (w);
 \node[rectangle, inner sep=0mm, fit= (z) (w),label=below right:N, xshift=13mm] {};
 \node[rectangle, inner sep=4.4mm,draw=black!100, fit= (z) (w)] {};
 \node[rectangle, inner sep=4.6mm, fit= (z) (w),label=below right:M, xshift=12.5mm] {};
 \node[rectangle, inner sep=9mm, draw=black!100, fit = (theta) (z) (w)] {};
\end{tikzpicture}
\end{figure}
\end{document}
%note - compiled with pdflatex

現在,我已經在 Latex 中寫了我的論文,所以如果你只想要圖像而不必編譯整個 Latex 文檔,這有點不方便,但是有一些相當小的解決方法可以更直接地生成圖像(參見這個問題在stackoverflow上)。不過,將 Tikz 用於此類項目還有許多其他好處


目前我還沒有考慮直接從指定模型中繪製統計包R中的一些圖表的庫,但將來我可能會更大程度地考慮它們。qgraph 庫中有一些很好的示例,用於證明 R 中可以完成的工作。

引用自:https://stats.stackexchange.com/questions/16750

comments powered by Disqus