Estou procurando um software [gratuito] que possa produzir modelos gráficos com boa aparência, por exemplo
Todas as sugestões serão apreciadas.
Estou procurando um software [gratuito] que possa produzir modelos gráficos com boa aparência, por exemplo
Todas as sugestões serão apreciadas.
Respostas:
Atualmente, tenho um problema semelhante (desenhando vários diagramas de caminho para minha dissertação) e, portanto, estava examinando muitas das opções listadas aqui para desenhar diagramas semelhantes. Muitos dos recursos listados para desenhar esses gráficos vetoriais (como no microsoft office ou no google desenhos) podem produzir diagramas de caminho realmente agradáveis, com um esforço mínimo. Mas, parte da razão pela qual eu não estava satisfeito com esses programas é que eu precisava produzir muitos diagramas, com apenas pequenas alterações entre cada diagrama (por exemplo, adicionar outro nó, alterar um rótulo). As ferramentas de gráficos vetoriais de apontar e clicar não são adequadas para isso e exigem mais esforço do que o necessário para fazer essas pequenas alterações. Também fica difícil manter um modelo entre muitos desenhos. Então, decidi examinar as opções para produzir esses gráficos programaticamente.
\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
Agora, já estou escrevendo minha dissertação em Latex, portanto, se você deseja apenas a imagem sem precisar compilar um documento inteiro, é um pouco inconveniente, mas existem algumas soluções menores para produzir uma imagem mais diretamente (consulte esta pergunta em no stackoverflow). Existem muitos outros benefícios em usar o Tikz para esse projeto.
No momento, não considerei algumas das bibliotecas para desenhar os diagramas no pacote estatístico R diretamente dos modelos especificados, mas no futuro posso considerá-los em maior extensão. Existem alguns bons exemplos da biblioteca qgraph para uma prova do conceito do que pode ser realizado em R.
Laura Dietz escreveu uma biblioteca muito legal para o tikz que permite desenhar redes Bayesian em látex sem precisar usar o tikz diretamente.
Para demonstrar este pacote, consulte o seguinte exemplo para esta pergunta:
\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
Embora não seja exatamente o mesmo, ele certamente transmite as mesmas informações e pode ser ajustado para melhor atender a requisitos específicos. Este pacote gera números muito aceitáveis sem a necessidade de aprender o pacote tikz completo.
Você não pode vencer http://daft-pgm.org/
Daft é um pacote Python que usa matplotlib para renderizar modelos gráficos probabilísticos perfeitos em pixels para publicação em um periódico ou na internet. Com um script Python curto e uma sintaxe intuitiva de criação de modelo, você pode criar modelos direcionados (Redes Bayesianas, gráficos acíclicos direcionados) e não direcionados (campos aleatórios de Markov) e salvá-los em qualquer formato compatível com o matplotlib (incluindo PDF, PNG, EPS e SVG )
O Inkscape é essencialmente uma versão gratuita do Adobe Illustrator e é um programa muito forte para criar gráficos vetoriais, como a imagem que você postou. Também funciona muito bem com a maioria dos pacotes estatísticos para fazer edições finais / anotações / etc. para gráficos - R, SAS etc. podem gerar um gráfico como PDF ou outro formato vetorial (como .eps) e, em seguida, você pode trazê-lo para o Inkscape para mexer com cores, símbolos, rótulos de eixos etc.
Se você tem um interesse particular em usar o LaTeX, o programa LaTeXDraw possui algumas boas funcionalidades para criar fluxogramas com código de látex incorporado.
Importa / exporta código PSTricks e SVG e também pode exportar svg, pdf, eps, jpg, png, etc. É executado no Linux, Mac OS X e Windows.
Eu achei o Diagrammix um pacote muito flexível, disponível para Mac OS X. É um pacote de gráficos vetoriais bem arredondado e faz um bom trabalho em modelos gráficos. É bastante barato e tem alguns complementos bons que ajudaram a melhorar as formas e direções das arestas.
Diagrammix
algumas respostas.
Você pode experimentar o Google Docs Draw . Parece que ele fará o que você quer de graça, diretamente no seu navegador.
Você pode ir para o PlantUML . É de código aberto e bastante flexível.
Você também pode usar o aplicativo da web Lucidchart .
Eu o usei no passado para desenhar gráficos e é gratuito.