Tikz equivalent for pst-rputover
You can clip against the labels:
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\fill[color=blue!40] (0,0) rectangle (2,2);
\fill[red] plot [smooth] coordinates {(0,2)(1,1)(2,2)} -- cycle;
\node at (1,1) (mynodeA){\Large\sffamily label};
\node at (0.5,1.5) (mynodeB){\sffamily label};
\begin{scope}
\foreach \n in {mynodeA, mynodeB}{
\path [clip]
(\n.north east) --
(\n.south east) --
(\n.south west) --
(\n.north west) -- cycle
(current bounding box.south east) --
(current bounding box.north east) --
(current bounding box.north west) --
(current bounding box.south west) -- cycle;
}
\draw(1,0)--(1,2);
\draw(0.5,0)--(0.5,2);
\draw(0,1.8)--(2,0.5);
\end{scope}
\end{tikzpicture}
\end{document}
Just for completeness: this is a version which also takes into account rounded corners or, more generally, arbitrary node shapes. And it spares you from typing a lot of coordinates.
\documentclass[tikz]{standalone}
\usetikzlibrary{shapes.geometric}
\makeatletter % https://tex.stackexchange.com/a/38995/121799
\tikzset{
use path/.code={\pgfsyssoftpath@setcurrentpath{#1}}
}
\makeatother
\tikzset{remember path/.style={save path=\tmprotect}}
% https://tex.stackexchange.com/a/12033/121799
\tikzset{reverseclip/.style={insert path={(current bounding box.north
east) rectangle (current bounding box.south west)}}}
\begin{document}
\begin{tikzpicture}
\fill[blue!40] (0,0) rectangle (2,2);
\fill[red] plot [smooth] coordinates {(0,2)(1,1)(2,2)} -- cycle;
\node[remember path,font=\Large\sf] at (1,1) {label};
\clip[use path=\tmprotect,reverseclip];
\draw(1,0)--(1,2);
\end{tikzpicture}
\begin{tikzpicture}
\fill[blue!40] (-1,0) rectangle (3,4);
\fill[red] plot [smooth] coordinates {(-1,4)(0,2)(1,1)(2,2)(3,4)} -- cycle;
\node[remember path,font=\Large\sf,rounded corners] at (1,1) {label};
\clip[use path=\tmprotect,reverseclip];
\node[remember path,font=\Large\sf,shape=diamond] at (2,2) {label 3};
\clip[use path=\tmprotect,reverseclip];
\node[remember path,font=\Large\sf,shape=ellipse] at (0,2) {label 2};
\clip[use path=\tmprotect,reverseclip];
\fill[gray,opacity=0.2] (-1,0) rectangle (3,4);
\draw [blue,thick] (-1,4) -- (1,0) -- (3,4);
\end{tikzpicture}
\end{document}
with drawing line in two parts?
\documentclass[tikz, margin=3.141592]{standalone}
\begin{document}
\begin{tikzpicture}
\fill[blue!40] (0,0) rectangle (2,2);
\fill[red] plot [smooth] coordinates {(0,2)(1,1)(2,2)} -- cycle;
\node at (1,1) (label) {\Large\sf label};
\draw (1,0) -- (label) (label) -- (1,2);
\end{tikzpicture}
\end{document}