Arbre pstree

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Arbre pstree

Messagepar aze760 » Jeudi 20 Mars 2008, 01:56

Bonjour a tous

Voila le problème est je pense réglé en deux seconde pour les habitués mais pour moi ...
Je voudrais construire des arbres ou les nœuds se rejoignent quand soit une monté puis une descente = une descente plus une monte.

Merci par avance
aze760
Utilisateur
 
Messages: 7
Inscription: Jeudi 20 Mars 2008, 01:51
Statut actuel: Post-bac | Master

Publicité

Re: Arbre pstree

Messagepar rebouxo » Jeudi 20 Mars 2008, 11:07

Ghhhh ?
Heu, j'ai du mal à suivre. Cela manque singulièrement de clarté.

Olivier
rebouxo
Modérateur
 
Messages: 6961
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: Arbre pstree

Messagepar aze760 » Vendredi 21 Mars 2008, 18:32

EN gros oui je me suis peut être mal exprimé.
Simple si on part de la racine je monte une foi puis je descends je voudrais tomber sur le même nœud qui si j 'etais d abord descendu puis monté.

C est un arbre binaire simple de type utilisé dans le modèle cox ross rubinstein.

Merci de m'aider pour le code latex
aze760
Utilisateur
 
Messages: 7
Inscription: Jeudi 20 Mars 2008, 01:51
Statut actuel: Post-bac | Master

Re: Arbre pstree

Messagepar pg » Vendredi 21 Mars 2008, 20:59

C'est quelque chose comme ça que tu veux ?

Code: Tout sélectionner
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node {root} [grow'=right,sibling distance=3cm]
child {node {up} child {node {up up}} child {node {\phantom{up down}}}}
child {node {down}
child {node {down up}}
child {node {down down}}
};
\end{tikzpicture}
\end{document}


binomial_tree.png
binomial_tree.png (5.48 Kio) Vu 4295 fois
pg
Modérateur
 
Messages: 2597
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Arbre pstree

Messagepar aze760 » Samedi 22 Mars 2008, 01:50

c'est exactement ça mais arec une période suplementaires oui merci beaucoup.
Je peux utiliser les même commandes que pour ps tree a savoir encadrer, gerer les tailles, angles, mettre les proba au dessus des traits ect ?

merci encore
aze760
Utilisateur
 
Messages: 7
Inscription: Jeudi 20 Mars 2008, 01:51
Statut actuel: Post-bac | Master

Re: Arbre pstree

Messagepar pg » Samedi 22 Mars 2008, 10:53

Les mêmes commandes, je ne sais pas car je n'ai jamais utilisé pstree, mais c'est tout à fait possible. Voici un petit exemple.

Code: Tout sélectionner
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
\begin{tikzpicture}[level distance=2.5cm]
\tikzstyle{level 0}=[rectangle,color=black,draw]
\tikzstyle{level 1}=[ellipse, draw]
\tikzstyle{level 2}=[rectangle,rounded corners, draw]
\tikzstyle{level 3}=[rectangle,rounded corners=0, draw]
\tikzstyle{edge from parent}=[->,draw]
\node[level 0] {root} [grow'=right,sibling distance=3cm]
  child {node[level 1] {up}
         child {node[level 2] {up up}
                child {node[level 3] {up up}
                       edge from parent node[above left] {$c_1$}
                      }
                child {node[level 3] {\phantom{down up up}}
                       edge from parent node[below left] {$c_2$}
                      }
                edge from parent node[above left] {$b_1$}
               }
         child {node[level 2] {\phantom{up down}}
                edge from parent node[below left] {$b_2$}
               }
         edge from parent node[above left] {$a_1$}
        }
  child {node[level 1] {down}
         child {node[level 2] {down up}
                child {node[level 3] {down up up}
                       edge from parent node[above left] {$c_3$}
                      }
                child {node[level 3] {\phantom{down up down}}
                       edge from parent node[below left] {$c_4$}
                      }
                edge from parent node[above left] {$b_3$}
               }
         child {node[level 2] {down down}
                child {node[level 3] {down down up}
                       edge from parent node[above left] {$c_5$}
                      }
                child {node[level 3] {down down down}
                       edge from parent node[below left] {$c_6$}
                      }
                edge from parent node[below left] {$b_4$}
               }
         edge from parent node[below left] {$a_2$}
        };
\end{tikzpicture}
\end{document}


Voici le résultat:

binomial_tree_labels.png


Pour changer l'angle (et la distance entre deux noeuds, ça va ensemble), il faut jouer sur les paramètre sibling distance=3cm et level distance=2.5cm

Pour rapprocher les "probas" de leurs flèches, il suffit de changer les divers node[above left] et node[below left] en node[above left=-0.1cm] ou node[below left=-0.1cm] par exemple.

Maintenant, tout cela doit être possible avec pstree. En parcourant rapidement cet article dans baskerville 6 (1) page 8 qui parle des arbres, ça n'a pas l'air trop difficile (je regarderai peut-être plus tard).
pg
Modérateur
 
Messages: 2597
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Arbre pstree

Messagepar aze760 » Samedi 22 Mars 2008, 13:14

bien écoutes j'ai installé ce package que je ne connaissais pas donc je laisse pstree.
Merci énormément c'est exactement ça que je voulais. C'est très propre.

Merci encore à bientot
aze760
Utilisateur
 
Messages: 7
Inscription: Jeudi 20 Mars 2008, 01:51
Statut actuel: Post-bac | Master

Re: Arbre pstree

Messagepar aze760 » Samedi 22 Mars 2008, 16:55

Si je peux t'embêter une dernière foi je voudrais en fait pouvoir écrire à chaque nœud un chiffre en noir et en dessous un chiffre en rouge.
J'y arrivais avec ps tree mais la c est pas du tout le même pack

merci
aze760
Utilisateur
 
Messages: 7
Inscription: Jeudi 20 Mars 2008, 01:51
Statut actuel: Post-bac | Master

Re: Arbre pstree

Messagepar pg » Samedi 22 Mars 2008, 17:33

Comme ça?

binomial_tree_labels_color.png


Code: Tout sélectionner
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
\begin{tikzpicture}[level distance=2.5cm]
\tikzstyle{level 0}=[circle split,draw]
\tikzstyle{level 1}=[circle split,draw]
\tikzstyle{level 2}=[circle split,draw]
\tikzstyle{level 3}=[circle split,draw]
\tikzstyle{edge from parent}=[->,draw]
\tikzstyle{blank}=[rectangle]
\node[level 0] {$r_1$\nodepart{lower}\textcolor{red}{$r_2$}} [grow'=right,sibling distance=3cm]
  child {node[level 1] {$u_1$\nodepart{lower}\textcolor{red}{$u_2$}}
         child {node[level 2] {$uu_1$\nodepart{lower}\textcolor{red}{$uu_2$}}
                child {node[level 3] {$uuu_1$\nodepart{lower}\textcolor{red}{$uuu_2$}}
                       edge from parent node[blank,above left] {$c_1$}
                      }
                child {node[level 3] {\phantom{$duu_1$}\nodepart{lower}\textcolor{red}{\phantom{$duu_2$}}}
                       edge from parent node[blank,below left] {$c_2$}
                      }
                edge from parent node[blank,above left] {$b_1$}
               }
         child {node[level 2] {\phantom{$ud_1$}\nodepart{lower}\textcolor{red}{\phantom{$ud_2$}}}
                edge from parent node[blank,below left] {$b_2$}
               }
         edge from parent node[blank,above left] {$a_1$}
        }
  child {node[level 1] {$d_1$\nodepart{lower}\textcolor{red}{$d_2$}}
         child {node[level 2] {$du_1$\nodepart{lower}\textcolor{red}{$du_2$}}
                child {node[level 3] {$duu_1$\nodepart{lower}\textcolor{red}{$duu_2$}}
                       edge from parent node[blank,above left] {$c_3$}
                      }
                child {node[level 3] {\phantom{$dud_1$}\nodepart{lower}\textcolor{red}{\phantom{$dud_2$}}}
                       edge from parent node[blank,below left] {$c_4$}
                      }
                edge from parent node[blank,above left] {$b_3$}
               }
         child {node[level 2] {$dd_1$\nodepart{lower}\textcolor{red}{$dd_2$}}
                child {node[level 3] {$ddu_1$\nodepart{lower}\textcolor{red}{$ddu_2$}}
                       edge from parent node[blank,above left] {$c_5$}
                      }
                child {node[level 3] {$ddd_1$\nodepart{lower}\textcolor{red}{$ddd_2$}}
                       edge from parent node[blank,below left] {$c_6$}
                      }
                edge from parent node[blank,below left] {$b_4$}
               }
         edge from parent node[blank,below left] {$a_2$}
        };
\end{tikzpicture}
\end{document}
pg
Modérateur
 
Messages: 2597
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Arbre pstree

Messagepar aze760 » Samedi 22 Mars 2008, 18:02

Oui c'est bien ça mais j'aurais préféré des rectangles (si je met rectangle ça me met 4 cases ??) à la place des cercles mais c'est impréssionnant comment tu fais ? J'espère que tu as pas rédigé tout ce code juste pour moi mais en tout cas ça me permet de faire quelque chose de très propre.
Merci infiniment
aze760
Utilisateur
 
Messages: 7
Inscription: Jeudi 20 Mars 2008, 01:51
Statut actuel: Post-bac | Master

Re: Arbre pstree

Messagepar pg » Samedi 22 Mars 2008, 18:23

Ah oui, avec un rectangle, il faut dire "rectangle split parts=2" pour n'avoir que 2 parties et changer les "\nodepart{lower}" en "\nodepart{second}".

Code: Tout sélectionner
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
\begin{tikzpicture}[level distance=2.5cm]
\tikzstyle{level 0}=[rectangle split,rectangle split parts=2,draw]
\tikzstyle{level 1}=[rectangle split,rectangle split parts=2,draw]
\tikzstyle{level 2}=[rectangle split,rectangle split parts=2,draw]
\tikzstyle{level 3}=[rectangle split,rectangle split parts=2,draw]
\tikzstyle{edge from parent}=[->,draw]
\tikzstyle{blank}=[rectangle]
\node[level 0] {$r_1$\nodepart{second}\textcolor{red}{$r_2$}} [grow'=right,sibling distance=3cm]
  child {node[level 1] {$u_1$\nodepart{second}\textcolor{red}{$u_2$}}
         child {node[level 2] {$uu_1$\nodepart{second}\textcolor{red}{$uu_2$}}
                child {node[level 3] {$uuu_1$\nodepart{second}\textcolor{red}{$uuu_2$}}
                       edge from parent node[blank,above left] {$c_1$}
                      }
                child {node[level 3] {\phantom{$duu_1$}\nodepart{second}\textcolor{red}{\phantom{$duu_2$}}}
                       edge from parent node[blank,below left] {$c_2$}
                      }
                edge from parent node[blank,above left] {$b_1$}
               }
         child {node[level 2] {\phantom{$ud_1$}\nodepart{second}\textcolor{red}{\phantom{$ud_2$}}}
                edge from parent node[blank,below left] {$b_2$}
               }
         edge from parent node[blank,above left] {$a_1$}
        }
  child {node[level 1] {$d_1$\nodepart{second}\textcolor{red}{$d_2$}}
         child {node[level 2] {$du_1$\nodepart{second}\textcolor{red}{$du_2$}}
                child {node[level 3] {$duu_1$\nodepart{second}\textcolor{red}{$duu_2$}}
                       edge from parent node[blank,above left] {$c_3$}
                      }
                child {node[level 3] {\phantom{$dud_1$}\nodepart{second}\textcolor{red}{\phantom{$dud_2$}}}
                       edge from parent node[blank,below left] {$c_4$}
                      }
                edge from parent node[blank,above left] {$b_3$}
               }
         child {node[level 2] {$dd_1$\nodepart{second}\textcolor{red}{$dd_2$}}
                child {node[level 3] {$ddu_1$\nodepart{second}\textcolor{red}{$ddu_2$}}
                       edge from parent node[blank,above left] {$c_5$}
                      }
                child {node[level 3] {$ddd_1$\nodepart{second}\textcolor{red}{$ddd_2$}}
                       edge from parent node[blank,below left] {$c_6$}
                      }
                edge from parent node[blank,below left] {$b_4$}
               }
         edge from parent node[blank,below left] {$a_2$}
        };
\end{tikzpicture}
\end{document}


binomial_tree_labels_color_rect.png


Sinon, si tu veux en savoir plus sur TikZ et sa syntaxe, toutes ces commandes sont détaillées dans le manuel.
pg
Modérateur
 
Messages: 2597
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Arbre pstree

Messagepar aze760 » Samedi 22 Mars 2008, 19:07

écoute c'est parfait là, j'ai le manuel mais c'est vrai que je m'y retrouvais pas .
C'est exactement ce que je voulais merci beaucoup bonne continuation.
aze760
Utilisateur
 
Messages: 7
Inscription: Jeudi 20 Mars 2008, 01:51
Statut actuel: Post-bac | Master


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message
  • PSTree
    par patrick » Jeudi 12 Juin 2008, 02:02
    1 Réponses
    3578 Vus
    Dernier message par D.GH Voir le dernier message
    Samedi 28 Juin 2008, 21:01
  • documentation pstree
    Fichier(s) joint(s) par agnès » Lundi 20 Mai 2013, 14:48
    5 Réponses
    2251 Vus
    Dernier message par agnès Voir le dernier message
    Jeudi 23 Mai 2013, 14:56
  • Arbre en LaTeX
    1, 2, 3par berns » Jeudi 16 Mars 2006, 21:31
    43 Réponses
    16527 Vus
    Dernier message par kilébo Voir le dernier message
    Vendredi 14 Juillet 2006, 22:49
  • Arbre pondéré
    Fichier(s) joint(s) par masiuxus » Jeudi 10 Juillet 2008, 10:29
    9 Réponses
    4748 Vus
    Dernier message par Yacine1206 Voir le dernier message
    Jeudi 27 Février 2014, 10:27
  • Arbre pondéré
    par Gvsby » Lundi 06 Octobre 2008, 16:16
    2 Réponses
    1019 Vus
    Dernier message par Gvsby Voir le dernier message
    Lundi 06 Octobre 2008, 17:26

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 4 invités

cron