3

I am trying to draw a multiple input - multiple output system with TiKz but I'm having several problems to get it right (lines well separated and aligned, et cetera).

I have searched for examples but I could not find anything that looks like to what I want to draw. It would be something like the following (3 inputs and 5 outputs):

System

  • 1
    Can you post what you've tried in the form of a Minimal (non-)Working Example? That will save us a lot of setup work to fit into your environment, and make sure we pitch the explanation at the right level. Thanks! – darthbith Mar 18 '16 at 17:19
3

Is this what you looking for:

enter image description here

\documentclass[border=3mm,
               tikz]{standalone}

\usetikzlibrary{arrows,positioning}

    \begin{document}
\begin{tikzpicture}[
node distance = 4mm and 22mm
                        ]
\node (adc) [draw,minimum size=24mm] {ADC};
%
\coordinate[above left = of adc.west]   (a1);
\coordinate[below = of a1]              (a2);
\coordinate[below = of a2]              (a3);
\coordinate[above right= 8mm and 22mm of adc.east]  (b1);
\foreach \i [count=\xi from 1] in {2,...,5} 
    \coordinate[below=of b\xi]  (b\i);
%
\foreach \i [count=\xi from 1] in {X,Y,Z}
\draw[-latex']  (a\xi) node[left] {\i} -- (a\xi-| adc.west);
\foreach \i [count=\xi from 1] in {A,B,...,E}
    \draw[-latex'] (adc.east |- b\xi) -- (b\xi) node[right] {\i};
\end{tikzpicture}
    \end{document}
  • Yes, that is what I'm trying to get. – Airman01 Mar 18 '16 at 17:54
2

Another method

\documentclass[border=5mm,tikz]{standalone}
\begin{document}
\begin{tikzpicture}[ node distance = 4mm and 22mm ]

\node (adc) [draw,minimum size=24mm] {ADC};
\path (adc.north west)--(adc.south west) foreach \j in {1,...,3} {%
   coordinate [pos=.25*\j] (y\j)};
\foreach \i/\name  in {1/X,2/Y,3/Z}  
   \draw[<-] (y\i) -- ++(-2,0) node[left] (x\i){\name};

\path (adc.north east)--(adc.south east) foreach \j in {1,...,5} {%
    coordinate [pos=1/6*\j] (z\j)};
\foreach \i/\name  in {1/A,2/B,3/C,4/D,5/E} 
    \draw[->] (z\i) -- ++(2,0) node[right] (t\i){\name};
\end{tikzpicture}
\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.