Drawing a particular part of flowchart in tikz?
Please try to include a MWE no matter how simple it is.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc,shapes.geometric}
\begin{document}
%
%
\begin{center}
\begin{tikzpicture}
\node[draw] (topnode) at (3,2) {Node A};
\node[draw] (botnode) at (3,-2) {Node B};
\foreach\x in {1,...,5}{
\node[draw,trapezium,trapezium left angle=120, trapezium right angle=60pt] (innernode\x)at (\x,0) {\x};
\draw (innernode\x) |- ($(innernode\x)!0.5!(topnode)$) -| (topnode);
\draw (innernode\x) |- ($(innernode\x)!0.5!(botnode)$) -| (botnode);
}
\end{tikzpicture}
\end{center}
%
%
\end{document}
There are many options here; I used the matrix
. I also didn't elaborate to much on the code below. For example, if you need to calculate the intersections between lines, you must use the intersections
library. You can also look in the PGF manual, it has lots of examples.
\documentclass[tikz]{standalone}
\usetikzlibrary{matrix}
\usetikzlibrary{shapes.geometric}
\usepackage{mathtools,ellipsis}
\begin{document}
\begin{tikzpicture}[%
any/.style={%
draw,
shape=trapezium,
trapezium left angle=60, trapezium right angle=120pt,
fill=blue!50,
minimum size=0.5cm,
},
topper/.style={%
any,
shape=rectangle,
},
]
\matrix (somematrix) [%
matrix of nodes,
nodes=any,
column sep=0.5cm,
row sep=0.5cm,
]
{%
& |[topper] (n1)| Node A & & \\
|(n2)| Frame 1 & |(n3)| Frame 2 & |[draw=none,fill=none]| $\cdots$ & |(n4)| Frame N \\
& |[topper](n5)| Node B & & \\
};
\draw (n1) -- (n3) -- (n5)
(n2) |- ++(0,0.5) -| (n4)
(n2) |- ++(0,-0.5) -| (n4);
\end{tikzpicture}
\end{document}
After some fiddling around, I got my own code working (am the questioner)
\documentclass[tikz,border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc,shapes.geometric}
\begin{document}
%
%
\tikzset{
block/.style = {rectangle, draw, fill=blue!20,
text width=5em, text centered, minimum height=4em},
data/.style = {draw,trapezium,trapezium left angle=70,trapezium right angle=-70,minimum height=3em,fill=blue!20}
}
%
%
\begin{tikzpicture}[]
\node [block] (nodeA) {Node A};
\node [below of=nodeA] (spreadout) {};
\matrix[
row sep=0.3cm,column sep=0.5cm, below of=spreadout] (framematrix) {
\node[data] (frame1){ Frame 1};&
\node[data] (frame2){ Frame 2};&
\node (dots1) {$\ldots$};&
\node (dots1) {$\ldots$};&
\node (dots1) {$\ldots$};&
\node[data] (frameN){ Frame N};\\
};
\node [below of=framematrix] (spreadin) {};
\node [block,below of=spreadin] (nodeB) {nodeB};
\path [draw] (nodeA) --(spreadout);
\path [draw] (spreadout.north) -| (frame1);
\path [draw] (spreadout.north) -| (frame2);
\path [draw] (spreadout.north) -| (frameN);
\path [draw] (frame1) |- (spreadin.north);
\path [draw] (frame2) |- (spreadin.north);
\path [draw] (frameN) |- (spreadin.north);
\path [draw] (spreadin.north) -- (nodeB);
\end{tikzpicture}
\end{document}