如何在函数上绘制正交刻度标记?例如,在下图中,我想在函数上绘制正交刻度标记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}