如何在 TikZ 中的函数图上以特定角度绘制线条

如何在 TikZ 中的函数图上以特定角度绘制线条

如何在函数上绘制正交刻度标记?例如,在下图中,我想在函数上绘制正交刻度标记y=x^2

\documentclass{article}
\usepackage{tikz} 
\begin{document}
\begin{tikzpicture}
      \draw[->] (-3,0) -- (4.2,0) node[right] {$x$};
      \draw[->] (0,-3) -- (0,4.2) node[above] {$y$};
      \draw[scale=0.5,domain=-3:3,smooth,variable=\x,blue] plot ({\x},{\x*\x});
      \draw[scale=0.5,domain=-3:3,smooth,variable=\y,red]  plot ({\y*\y},{\y});
    \end{tikzpicture}
\end{document}

我知道这会涉及到\foreach,但我不确定如何进行。

为了清楚起见,我希望刻度标记“跟随”函数的图形。此外,如果同一张图上有两个或多个函数,则每个函数都应该有一个单独的装饰选项。请参阅下面的评论。

答案1

您可以使用markings decoration来实现这一点。

请注意,由于某种原因,该选项不起作用smooth

\documentclass{article}
\usepackage{tikz} 
\usetikzlibrary{decorations.markings}

\begin{document}
\begin{tikzpicture}[
    decoration={
        markings,
        mark={
            between positions 0 and 1 step 0.4cm
            with {\draw (0,-1mm) -- (0,1mm);}
        }}
    ]
      \draw[->] (-3,0) -- (4.2,0) node[right] {$x$};
      \draw[->] (0,-3) -- (0,4.2) node[above] {$y$};
      \draw[scale=0.5,domain=-3:3,blue, postaction=decorate] plot ({\x},{\x*\x});
      \draw[scale=0.5,domain=-3:3,variable=\y,red, postaction=decorate]  plot ({\y*\y},{\y});
    \end{tikzpicture}
\end{document}

相关内容