orientamento frecce tikz

  • Creatore
    Topic
  • #81290
    Up
    0
    Down
    ::


    Salve a tutti,
    ho un problema con l’orientamento delle frecce per un diagramma (la mia ossessione!)…
    nel mio caso se le frecce sono rette e quindi collegare blocchi vicini nessun problema… (come per coniugare i blocchi gas e acqua)
    se però devo spezzare la retta (collegamento non in diagonale) per collegare due blocchi a due livelli diversi (acqua solido) la testa della freccia mi rimane rivolta verso l’alto o verso il basso…
    `
    \begin{figure}[htbp]
    \centering
    \tikzstyle{solido}=[rectangle, rounded corners, fill=orange!50, drop shadow, text=white, minimum height=3cm, minimum width=4cm]
    \tikzstyle{acqua}=[rectangle, rounded corners, fill=blue!50, drop shadow, text=white, minimum height=1.8cm, minimum width=4cm]
    \tikzstyle{gas}=[rectangle, rounded corners, fill=blue!10, drop shadow, text=white, minimum height=1.8cm, minimum width=4cm]
    \begin{tikzpicture}[node distance=1.5cm]
    \node (solido) [solido] {\textit{Fase Solida}};
    \node (AuxNode01) [text width=0.5cm, below=of solido] {};
    \node (acqua) [acqua, left=of AuxNode01] {\textit{Fase Liquida}};
    \node (gas) [gas, right=of AuxNode01] {\textit{Fase Gassosa}};
    \draw [->] (solido.west) (-2,-0.6) — ++ (0,0) -| ([xshift=0.6cm]acqua.north);
    \draw [->] ([xshift=-0.6cm]acqua.north) — ++ (0,2.8) -| ([yshift=0.6cm]solido.west);
    \draw [->] (solido.east) (2,0.6) — ++ (0,0) -| ([xshift=0.6cm]gas.north);
    \draw [->] ([xshift=-0.6cm]gas.north) — ++ (0,1.6) -| ([yshift=-0.6cm]solido.east);
    \draw [->] ([yshift=0.6cm]acqua.east) — ([yshift=0.6cm]gas.west);
    \draw [->] ([yshift=-0.6cm]gas.west) — ([yshift=-0.6cm]acqua.east);
    \end{tikzpicture}
    \caption{Le Tre Fasi del Suolo}
    \label{4}
    \end{figure}
    `

    grazie anticipatamente a tutti per la solita disponibilità e pazienza
    peppe

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #81291
      Up
      0
      Down
      ::

      MngSpaghetti” post=80520Salve a tutti,
      ho un problema con l’orientamento delle frecce per un diagramma (la mia ossessione!)…
      nel mio caso se le frecce sono rette e quindi collegare blocchi vicini nessun problema… (come per coniugare i blocchi gas e acqua)
      se però devo spezzare la retta (collegamento non in diagonale) per collegare due blocchi a due livelli diversi (acqua solido) la testa della freccia mi rimane rivolta verso l’alto o verso il basso…
      `
      \begin{figure}[htbp]
      \centering
      \tikzstyle{solido}=[rectangle, rounded corners, fill=orange!50, drop shadow, text=white, minimum height=3cm, minimum width=4cm]
      \tikzstyle{acqua}=[rectangle, rounded corners, fill=blue!50, drop shadow, text=white, minimum height=1.8cm, minimum width=4cm]
      \tikzstyle{gas}=[rectangle, rounded corners, fill=blue!10, drop shadow, text=white, minimum height=1.8cm, minimum width=4cm]
      \begin{tikzpicture}[node distance=1.5cm]
      \node (solido) [solido] {\textit{Fase Solida}};
      \node (AuxNode01) [text width=0.5cm, below=of solido] {};
      \node (acqua) [acqua, left=of AuxNode01] {\textit{Fase Liquida}};
      \node (gas) [gas, right=of AuxNode01] {\textit{Fase Gassosa}};
      \draw [->] (solido.west) (-2,-0.6) — ++ (0,0) -| ([xshift=0.6cm]acqua.north);
      \draw [->] ([xshift=-0.6cm]acqua.north) — ++ (0,2.8) -| ([yshift=0.6cm]solido.west);
      \draw [->] (solido.east) (2,0.6) — ++ (0,0) -| ([xshift=0.6cm]gas.north);
      \draw [->] ([xshift=-0.6cm]gas.north) — ++ (0,1.6) -| ([yshift=-0.6cm]solido.east);
      \draw [->] ([yshift=0.6cm]acqua.east) — ([yshift=0.6cm]gas.west);
      \draw [->] ([yshift=-0.6cm]gas.west) — ([yshift=-0.6cm]acqua.east);
      \end{tikzpicture}
      \caption{Le Tre Fasi del Suolo}
      \label{4}
      \end{figure}
      `

      grazie anticipatamente a tutti per la solita disponibilità e pazienza
      peppe

      Hai fatto tutto bene, ma c’è un piccolo errore. 🙂

      Con il simbolo: `-|` si disegna un segmento dal punto di partenza in orizzontale [tt] – [/tt] fino alla coordinata che ha la stessa ascissa del punto finale e in seguito verticale [tt] | [/tt] per raggiungere il punto finale.

      Invece, con il simbolo: `|-` si disegna un segmento dal punto di partenza in verticale [tt] | [/tt] fino alla coordinata che ha la stessa ordinata del punto finale e in seguito orizzontale [tt] – [/tt] per raggiungere il punto finale.

      In sostanza bastava cambiare verso nei due casi che generavano problemi. Un esempio minimo corretto (con [tt]\tikzset[/tt] al posto del deprecato [tt]\tikzstyle[/tt] e con le mie frecce preferite):`
      \documentclass{article}
      \usepackage{tikz}
      \usetikzlibrary{shadows, positioning}

      \begin{document}

      \tikzset{solido/.style={rectangle, rounded corners, fill=orange!50, drop shadow, text=white, minimum height=3cm, minimum width=4cm}}
      \tikzset{acqua/.style={rectangle, rounded corners, fill=blue!50, drop shadow, text=white, minimum height=1.8cm, minimum width=4cm}}
      \tikzset{gas/.style={rectangle, rounded corners, fill=blue!10, drop shadow, text=white, minimum height=1.8cm, minimum width=4cm}}
      \begin{tikzpicture}[node distance=1.5cm,>=stealth]
      \node (solido) [solido] {\textit{Fase Solida}};
      \node (AuxNode01) [text width=0.5cm, below=of solido] {};
      \node (acqua) [acqua, left=of AuxNode01] {\textit{Fase Liquida}};
      \node (gas) [gas, right=of AuxNode01] {\textit{Fase Gassosa}};
      \draw [->] (solido.west) (-2,-0.6) — ++ (0,0) -| ([xshift=0.6cm]acqua.north);
      \draw [->] ([xshift=-0.6cm]acqua.north) — ++ (0,2.8)|-([yshift=0.6cm]solido.west);
      \draw [->] (solido.east) (2,0.6) — ++ (0,0) -| ([xshift=0.6cm]gas.north);
      \draw [->] ([xshift=-0.6cm]gas.north) — ++ (0,1.6) |- ([yshift=-0.6cm]solido.east);
      \draw [->] ([yshift=0.6cm]acqua.east) — ([yshift=0.6cm]gas.west);
      \draw [->] ([yshift=-0.6cm]gas.west) — ([yshift=-0.6cm]acqua.east);
      \end{tikzpicture}

      \end{document}
      `Ciao
      Claudio

    • #81292
      Up
      0
      Down
      ::


      che te lo dico a fare…! ahahah
      perfetto!

Visualizzazione 1 filone di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top