用不同图形的箭头连接两个节点

用不同图形的箭头连接两个节点

我正在尝试连接来自两个不同图形的两个节点;有解决方案吗?这是我的尝试。

在此处输入图片描述

\documentclass [conference]
\usetikzlibrary{tikzmark, shadows.blur,arrows.meta,bending, shadings, intersections, calc, decorations.text,shapes,backgrounds, shapes.geometric, positioning, fit}
\usepackage{tikz, pgfplots}

\begin{figure*}[h!]

\begin{tikzpicture}
  [auto,
   decision/.style={diamond, draw=blue, thick, fill=blue!20,
                    text width=4.5em,align=flush center,
                    inner sep=1pt},
   block/.style ={rectangle, draw=blue, thick, fill=blue!20,
                    text width=6em,align=center, rounded corners,
                    minimum height=4em},
   line/.style ={draw, thick, -latex,shorten >=2pt},
   cloud/.style ={draw, cylinder, shape border rotate=90, aspect=0.4, %
      minimum height=40, minimum width=50, cylinder body fill = gray!10, 
    cylinder end fill = gray!40}]

  \matrix [column sep=4mm,row sep=7mm]
  {
    % row 1
      \node [cloud] (raw)   {Raw Data}; &
      \node [block, fill=green!20] (prep)     {Data Preprocessing}; &
      \node [block] (feature)   {Feature Engineering}; &
      \node [block] (select) {Model Selection}; &
    % row 2
    \node [block] (train)   {Model Training};& \\  &&& 
    \node [block ] (evaluate) {Model Evaluation};
    \node [decision] (decide) [below  = of select] {Is best candidate?}; \node [block, left] (stop) [left  = of decide]     {Model Deployment};\\
  };
  \begin{scope}[every path/.style=line]
    \path          (raw)     -- (prep);
    \path          (prep)     -- (feature);
    \path          (feature) -- (select);
    \path          (select) -- (train);
    \path          (train.south) |- +(0,-40pt) --(evaluate.east);
    \path          (evaluate)   -- (decide);
    \path          (decide)   -- node [above] {Yes} (stop);
    \path  [dashed] (decide.south)   -- +(0,-10pt) -| node [pos=0.62, right]  {No} (feature);
  \end{scope}
\end{tikzpicture}
    \caption{Machine Learning Pipeline}
    \label{}
\end{figure*}[h!]

 
\begin{figure}[h!]
\begin{tikzpicture}
% cyclic flowchart
% https://tex.stackexchange.com/questions/477310/cyclic-flowchart-in-tikz

\node[draw, cylinder, shape border rotate=90, aspect=0.4, %
      minimum height=40, minimum width=50, cylinder body fill = gray!10, 
    cylinder end fill = gray!40] (data) at (0,0)  {Raw Data} ;

  \path[name path=circle] (0,0) circle[radius=3.2 cm];

  \foreach \Angle/\Color/\Label/\Text in
  {90//DC/{Data \\ Cleaning},%
  180//DI/{Data \\ Integration},%
  270//DR/{Data \\ Reduction},%
  360//DT/{Data \\ Transform- \\ ation}}
  {
  \node[draw=blue, rectangle, align=center, fill=blue!20, rounded corners, name path=\Label, align=center, text=black] (\Label) at (\Angle:3cm) {\Text};
  % \node[draw, circle, name path=\Label, color=black, minimum width=1.5cm, align=center, text=black] (\Label) at (\Angle:3cm) {\Text};
  
  \path[name intersections={of=circle and \Label,by={\Label-1,\Label-2}}];
  \draw[{Latex}-] (\Label) -- (data);
  }
  \node[rectangle,draw=green, fit=(DC) (DR), minimum height=8cm, minimum width=8cm](fit) {};
   
   
   \draw[{Latex}-{Latex}] 
  let \p1=(DI-1),\p2=(DC-2),\n1={atan2(\y1,\x1)},\n2={atan2(\y2,\x2)}
  in   (DC-2) arc(\n2:\n1:3.1cm);

  \draw[{Latex}-{Latex}] 
  let \p1=(DR-1),\p2=(DI-2),\n1={atan2(\y1,\x1)},\n2={atan2(\y2,\x2)}
  in   (DI-2) arc(\n2:\n1:3.1cm);

  \draw[{Latex}-{Latex}] 
  let \p1=(DC-1),\p2=(DT-1),\n1={atan2(\y1,\x1)},\n2={atan2(\y2,\x2)}
  in   (DT-1) arc(\n2:\n1:3.1cm);

  \draw[{Latex}-{Latex}] 
  let \p1=(DT-2),\p2=(DR-2),\n1={atan2(\y1,\x1)},\n2={atan2(\y2,\x2)}
  in   (DR-2) arc(\n2:\n1:3.1cm);


\end{tikzpicture}
    \caption{Data Preprocessing Tasks}
    \label{}
\end{figure}
\end{document}

相关内容