Comment faire avec TikZ pour dessiner une ligne qui commence pleine et devient traitillée ? Voici un ECM (ma courbe est bien plus complexe en réalité) : \documentclass[tikz, border = 2 mm]{standalone} \usetikzlibrary{arrows.meta} \begin{document} \begin{tikzpicture} \draw[red, very thick, rounded corners, -Stealth] (0, 0) -- (1, 0) -- (1, 1) -- (2, 1) -- (2, 2) [dashed] -- (0, 2) -- (0, 0.5) ; \end{tikzpicture} \end{document} Dans cet exemple, j'aimerais que la ligne commence pleine et devienne traitillée à partir point de coordonnées (0, 2). J'ai placé le paramètre Posée 11 Oct '23, 09:16 Pathe ♦♦ |
Ce dernier commentaire ("ne rendre visible qu'une partie de chacune d'entre elles") donne effectivement une solution : \documentclass[tikz, border = 2 mm]{standalone} \usetikzlibrary{arrows.meta} \begin{document} \begin{tikzpicture} \draw[red, very thick, rounded corners,dashed, -Stealth] (0, 0) -- (1, 0) -- (1, 1) -- (2, 1) -- (2,2) -- (0, 2) -- (0, 0.5) ; \begin{scope} \path[clip] (-.2,-.2) -- (2.2,2.1) |- cycle; \draw[red, very thick, rounded corners] (0, 0) -- (1, 0) -- (1, 1) -- (2, 1) -- (2,2) -- (0, 2) -- (0, 0.5) ; \end{scope} \end{tikzpicture} \end{document} Publiée 11 Oct '23, 21:36 nmarkey Je comprends que vous dessinez une première ligne, traitillée. Puis une seconde, pleine, au tracé identique, à l'intérieur d'un environnement Mais je ne comprends pas la syntaxe de
(12 Oct '23, 09:19)
Pathe ♦♦
Le
(12 Oct '23, 10:17)
nmarkey
Mais bien sûr ! Merci ! Maintenant je comprends pourquoi mes tentatives de modification des paramètres de
(12 Oct '23, 10:24)
Pathe ♦♦
|
\documentclass[tikz, border = 2 mm]{standalone} \usetikzlibrary{arrows.meta} \begin{document} \begin{tikzpicture} \draw[red, very thick, rounded corners] (0, 0) -- (1, 0) -- (1, 1) -- (2, 1) -- (2,2) -- (1.85,2) ; \draw[red, very thick, rounded corners, dashed, -Stealth] (1.8, 2) -- (0, 2) -- (0, 0.5) ; \end{tikzpicture} \end{document} Publiée 11 Oct '23, 10:16 jybaudais |
Dans la doc de tikz, section 14 "Syntax for path specifications", il est précisé que certaines options s'appliquent à tout le "path" comme "color". Je crains que ce soit la même chose avec "dashed" et qu'il faille faire deux draw...
J'ai bien pensé aux deux
draw
; c'est d'ailleurs pour cette raison que j'ai rajouté le paramètrerounded corners
: si je crée deux courbes, l'une pleine, avant uncorner
, et l'autre traitillée, qui commence là et va plus loin, lecorner
en question n'est pasrounded
!Il faut répéter et décaler un peu les points, cf. la réponse que je propose. Si le code n'est pas ce qu'il y a de plus automatique, le résultat est correcte. Non ?
Certes, mais dans mon cas, décaler les points est complexe : il s'agit d'une courbe de Bézier. L'autre solution est de « dessiner » deux lignes identiques, l'une traitillée, l'autre non, et de ne rendre visible qu'une partie de chacune d'entre elles. Problème : je ne sais pas le faire.