멋진 그래픽 모델을 생성 할 수있는 [무료] 소프트웨어를 찾고 있습니다. 예 :
모든 제안을 부탁드립니다.
멋진 그래픽 모델을 생성 할 수있는 [무료] 소프트웨어를 찾고 있습니다. 예 :
모든 제안을 부탁드립니다.
답변:
나는 현재 비슷한 문제 (논문에 대한 여러 경로 다이어그램 그리기)가 있으므로 비슷한 다이어그램을 그리기 위해 이미 여기에 나열된 많은 옵션을 검토하고있었습니다. Microsoft Office 또는 Google 드로잉과 같은 벡터 그래픽을 그리기위한 나열된 리소스 중 상당수는 최소한의 노력으로 정말 멋진 경로 다이어그램을 만들 수 있습니다. 그러나 이러한 프로그램에 만족하지 못한 이유 중 하나는 각 다이어그램간에 약간의 변경 (예 : 다른 노드 추가, 레이블 변경)으로 많은 다이어그램을 생성해야했기 때문입니다. 포인트 앤 클릭 벡터 그래픽 도구는 이에 적합하지 않으며, 사소한 변경을 수행하는 데 필요한 것보다 더 많은 노력이 필요합니다. 또한 많은 도면간에 템플릿을 유지하는 것이 어려워집니다. 그래서 프로그래밍 방식으로 이러한 그래픽을 제작하는 옵션을 검토하기로 결정했습니다.
티아 스가 이미 언급했듯이 Graphviz는 그래픽을 만들고자하는 모든 종소리와 휘파람을 만드는 데 아주 가까워졌지만 두 가지 방식으로 내 요구에 미치지 못했습니다. 1) 수학 글꼴이 부족합니다 (예 : Graphviz에서 기호로 노드에 레이블을 지정할 수 있는지 확실하지 않습니다 . 2) 곡선이 그려지기 어렵습니다 ( @ Stask 's 웹 사이트의 Graphviz를 사용하여 그리기 경로 다이어그램 에 대한이 게시물 참조 ) . 이러한 제한 때문에 현재 라텍스에서 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
이제는 이미 라텍스로 논문을 작성하고 있으므로 전체 라텍스 문서를 컴파일하지 않고 이미지를 원한다면 약간의 불만이 있지만 이미지를보다 직접적으로 생성하는 약간의 해결 방법 이 있습니다 ( 이 질문 을 참조하십시오) 스택 오버 플로우에서). 이러한 프로젝트에 Tikz를 사용하는 데는 다른 이점이 있습니다.
현재 지정된 모델에서 직접 통계 패키지 R의 다이어그램을 그리기위한 라이브러리 중 일부는 고려하지 않았지만 앞으로는 더 큰 것으로 간주 할 수 있습니다. R에서 달성 할 수있는 것에 대한 개념 증명을위한 qgraph 라이브러리의 멋진 예제 가 있습니다.
Laura Dietz 는 실제로 tikz를 직접 사용할 필요없이 라텍스로 Bayesian Networks를 그릴 수있는 tikz 용 라이브러리 를 작성했습니다 .
이 패키지를 시연하려면이 질문에 대한 다음 예를 참조하십시오.
\documentclass[11pt]{report}
\usepackage{tikz}
\usetikzlibrary{bayesnet}
\begin{document}
\begin{figure}
\centering
\tikz{ %
\node[latent] (alpha) {$\alpha$} ; %
\node[latent, right=of alpha] (theta) {$\theta$} ; %
\node[latent, right=of theta] (z) {z} ; %
\node[latent, above=of z] (beta) {$\beta$} ; %
\node[obs, right=of z] (w) {w} ; %
\plate[inner sep=0.25cm, xshift=-0.12cm, yshift=0.12cm] {plate1} {(z) (w)} {N}; %
\plate[inner sep=0.25cm, xshift=-0.12cm, yshift=0.12cm] {plate2} {(theta) (plate1)} {M}; %
\edge {alpha} {theta} ; %
\edge {theta} {z} ; %
\edge {z,beta} {w} ; %
}
\end{figure}
\end{document}
%note - compiled with pdflatex
정확히 동일하지는 않지만 동일한 정보를 확실히 전달하며 특정 요구 사항에 더 잘 맞도록 조정할 수 있습니다. 이 패키지는 전체 tikz 패키지를 배울 필요없이 매우 적합한 수치를 생성합니다.
당신은 http://daft-pgm.org/를 이길 수 없습니다
Daft는 matplotlib을 사용 하여 저널이나 인터넷에 게시하기 위해 완벽한 픽셀 확률 그래픽 모델 을 렌더링하는 Python 패키지입니다 . 짧은 Python 스크립트와 직관적 인 모델 작성 구문을 사용하면 지시 된 (Bayesian Networks, 지시 된 비순환 그래프) 및 지시되지 않은 (Markov random field) 모델을 설계하고 matplotlib가 지원하는 모든 형식 (PDF, PNG, EPS 및 SVG 포함)으로 저장할 수 있습니다 ).
Inkscape 는 기본적으로 Adobe Illustrator의 무료 버전이며 게시 한 그림과 같이 벡터 그래픽을 수행하기위한 매우 강력한 프로그램입니다. 또한 최종 편집 / 주석 등을 수행하기위한 대부분의 통계 패키지와 함께 잘 작동합니다. 그래프로-R, SAS 등은 PDF 또는 기타 벡터 형식 (.eps 등)으로 그래프를 출력 한 다음 잉크 스케이프로 가져와 색상, 기호, 축 레이블 등을 엉망으로 만들 수 있습니다.
LaTeX 사용에 특별한 관심이있는 경우 LaTeXDraw 프로그램에는 라텍스 코드가 포함 된 플로우 차트를 작성하는 데 유용한 기능이 있습니다.
PSTricks 코드와 SVG를 가져 오거나 내 보내며 svg, pdf, eps, jpg, png 등을 내보낼 수 있습니다. Linux, Mac OS X 및 Windows에서 실행됩니다.
나는 Mac OS X에서 사용할 수있는 매우 유연한 패키지 인 Diagrammix 를 발견했다. 이것은 잘 둥근 벡터 그래픽 패키지이며 그래픽 모델에서 잘 작동한다. 상당히 저렴하고 가장자리의 모양과 방향을 개선하는 데 도움이되는 좋은 추가 기능이 있습니다.
Diagrammix
있습니다.
Google Docs Draw를 사용해 볼 수 있습니다. 브라우저에서 바로 원하는 것을 무료로하는 것처럼 보입니다.
Lucidchart 웹앱을 사용할 수도 있습니다 .
나는 과거에 그래프를 그리기 위해 사용했으며 무료입니다.