我正在尝试使用 tikz 绘制一个图形。由于该图形涉及三角函数图,我希望 Latex/Tikz 可以直接计算坐标。
我尝试了以下代码:
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.3}
\begin{document}
\begin{tikzpicture}[scale=1, every node/.style={scale=1.4}]
%axes
\draw[->, >=stealth] (-1,0) -- (7,0);
\draw (7,0) node[right] {$x$};
\draw[->, >=stealth] (0,-1) -- (0,5);
\draw (0,5) node[above] {$y$};
\draw[blue, very thick] plot[domain=1:6.28] ( {\x} , {1+\x/2+sin(\x r)} );
\draw[black, dashed] (1,0) -- (1,1+1/2+sin(1 r));
\draw[black, dashed] (6.28,0) -- (6.28,1+3.14+sin(6.28 r));
\end{tikzpicture}
\end{document}
我的主要问题是绘制两条垂直虚线时。Latex 返回
Package tikz Error: Giving up on this path. Did you forget a semicolon?. ...black, dashed] (1,0) -- (1,1+1/2+sin(1 r))
同样地
Package tikz Error: Giving up on this path. Did you forget a semicolon?. ...hed] (6.28,0) -- (6.28,1+3.14+sin(6.28 r))
作为错误。但图形却如我所愿(因为错误出现在路径的末尾)。
为什么会出现此错误? 我的代码在每一行末尾都包含一个分号。
如果所讨论的两条线有问题,有没有办法让我让 Tikz 计算数值?
答案1
只需将坐标放入一个组中即可。
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.3}
\begin{document}
\begin{tikzpicture}[scale=1, every node/.style={scale=1.4}]
%axes
\draw[->, >=stealth] (-1,0) -- (7,0);
\draw (7,0) node[right] {$x$};
\draw[->, >=stealth] (0,-1) -- (0,5);
\draw (0,5) node[above] {$y$};
\draw[blue, very thick] plot[domain=1:6.28] ( {\x} , {1+\x/2+sin(\x r)} );
\draw[black, dashed] (1,0) -- (1,{1+1/2+sin(1 r)});
\draw[black, dashed] (6.28,0) -- (6.28,{1+3.14+sin(6.28 r)});
\end{tikzpicture}
\end{document}