Je recherche un logiciel [gratuit] capable de produire de beaux modèles graphiques, par exemple:
Toute suggestion serait appréciée.
Je recherche un logiciel [gratuit] capable de produire de beaux modèles graphiques, par exemple:
Toute suggestion serait appréciée.
Réponses:
Je rencontre actuellement un problème similaire (dessiner plusieurs diagrammes de chemin pour ma thèse) et j’examinais déjà plusieurs des options énumérées ici pour dessiner des diagrammes similaires. Un grand nombre des ressources répertoriées pour dessiner de tels graphiques vectoriels (tels que Microsoft Office ou Google Dessins) peuvent produire de très jolis diagrammes de chemin, avec un effort assez minime. Cependant, une partie de la raison de mon insatisfaction avec de tels programmes est que je devais produire de nombreux diagrammes, avec seulement des modifications mineures entre chaque diagramme (par exemple, ajouter un autre nœud, changer une étiquette). Les outils graphiques vectoriels de type pointer-cliquer ne conviennent pas à cette tâche et demandent plus d'efforts que nécessaire pour apporter des modifications aussi mineures. En outre, il devient difficile de conserver un modèle entre plusieurs dessins. J'ai donc décidé d'examiner les options permettant de produire de tels graphiques par programmation.
Graphviz, comme cela a déjà été mentionné par thias, était proche de posséder toutes les options que je souhaitais pour mes graphiques (ainsi que du code assez simple pour les produire), mais il ne répondait pas à mes besoins de deux manières; 1) les polices mathématiques manquent (par exemple, je ne sais pas si vous pouvez étiqueter un nœud avec le symbole dans Graphviz, 2) les lignes courbes sont difficiles à dessiner (voir cet article sur les diagrammes de chemins de dessin utilisant Graphviz sur le site Web de @ Stask) . En raison de ces limitations, j’ai décidé (très heureusement) d’utiliser la bibliothèque de dessins Tikz / pgf dans Latex. Voici un exemple ci-dessous de ma tentative de reproduction de votre graphique (la plus grande douleur était les étiquettes dans les coins inférieurs droits des boîtes!);
\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
Maintenant, j’écris déjà ma thèse en Latex, donc si vous voulez juste l’image sans avoir à compiler un document entier en Latex, c’est un peu gênant, mais il existe quelques solutions de contournement assez mineures pour produire une image plus directement (voir la question ci- dessus). sur stackoverflow). Il y a une foule d’autres avantages à utiliser Tikz pour un tel projet bien que
Pour le moment, je n'ai pas pris en compte certaines des bibliothèques permettant d'extraire les diagrammes du progiciel statistique R directement à partir des modèles spécifiés, mais à l'avenir, je pourrais les prendre davantage en considération. La bibliothèque qgraph contient de jolis exemples de preuves de concept de ce qui peut être accompli dans R.
Laura Dietz a écrit une très belle bibliothèque pour tikz qui permet de dessiner des réseaux bayésiens en latex sans avoir à utiliser tikz directement.
Pour illustrer ce package, consultez l'exemple suivant pour cette question:
\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
Bien que pas exactement identique, il transmet certainement les mêmes informations et pourrait être modifié pour mieux répondre aux exigences spécifiques. Ce paquet génère des chiffres très acceptables sans avoir besoin de connaître le paquet tikz complet.
Vous ne pouvez pas battre http://daft-pgm.org/
Daft est un paquet Python qui utilise matplotlib pour restituer des modèles graphiques probabilistes parfaits au pixel destinés à être publiés dans un journal ou sur Internet. Avec un court script Python et une syntaxe de construction de modèle intuitive, vous pouvez concevoir des modèles dirigés (réseaux Bayesian, graphes acycliques dirigés) et non dirigés (champs aléatoires de Markov) et les enregistrer dans tous les formats pris en charge par matplotlib (notamment PDF, PNG, EPS et SVG). ).
Inkscape est essentiellement une version gratuite d'Adobe Illustrator et constitue un programme très puissant pour la création de graphiques vectoriels, comme la photo que vous avez publiée. Il joue également assez bien avec la plupart des progiciels statistiques pour effectuer les modifications / annotations finales / etc. Graphiques - R, SAS, etc. peuvent générer un graphique au format PDF ou tout autre format vectoriel (comme le format .eps). Vous pouvez ensuite le transférer dans Inkscape pour y manipuler des couleurs, des symboles, des étiquettes d'axe, etc.
Si vous êtes particulièrement intéressé par l'utilisation de LaTeX, le programme LaTeXDraw dispose de fonctionnalités utiles pour créer des organigrammes avec du code latex intégré.
Il importe / exporte le code PSTricks et le SVG, et peut également exporter des fichiers svg, pdf, eps, jpg, png, etc. Il fonctionne sous Linux, Mac OS X et Windows.
J'ai trouvé Diagrammix d'être un ensemble très flexible, disponible pour Mac OS X. Il est un paquet de graphiques vectoriels bien arrondi et fait un bon travail à des modèles graphiques. Il est relativement peu coûteux et comporte de bons ajouts qui ont permis d’améliorer les formes et les directions des bords.
Diagrammix
des réponses similaires.
Vous pouvez essayer Google Docs Draw . On dirait que cela fera ce que vous voulez gratuitement, directement dans votre navigateur.
Vous pouvez aller pour PlantUML . C'est open source et assez flexible.