我怎样才能绘制一个墙体剖面图,其中正弦图的一部分位于中间,就像图片中的那样。
我写了这段代码:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\begin{axis}[axis lines=middle,
enlargelimits,
xtick={3.14,6.28},ytick={0.5,1},
xticklabels={$\frac{\lambda}{2}$, $\lambda$},
yticklabels={, $1$},
xlabel=$x$,ylabel=$s(t)$]
\addplot[domain=0:pi,samples=40,smooth, thick,blue]{sin(deg(x)) };
\end{axis}
\end{tikzpicture}
\end{document}
答案1
像这样?
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}
\draw (0,0) --++(90:3cm);
\fill[pattern=north west lines] (0,0) rectangle ++(-1,3);
\draw (2,0) --++(90:3cm);
\fill[pattern=north west lines] (2,0) rectangle ++(1,3);
\draw (0,2) sin ++(1,1) cos ++(1,-1);
\end{tikzpicture}
\end{document}
编辑:
由于sin
和cos
绘图操作仅在区间上进行绘制[0,\pi/2]
,因此对于一个完整的周期,需要四个操作符。
另一种解决方案可能是plot
操作员。
两种解决方案如下所示。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}
\draw (0,0) --++(90:3cm);
\fill[pattern=north west lines] (0,0) rectangle ++(-1,3);
\draw (2,0) --++(90:3cm);
\fill[pattern=north west lines] (2,0) rectangle ++(1,3);
\draw (0,2) sin ++(0.5,0.5) cos ++(0.5,-0.5)
sin ++(0.5,-0.5) cos ++(0.5,0.5);
\draw[red, scale=2/6.2829, domain=0:6.2829] plot (\x,{1.5+sin(\x r)});
\end{tikzpicture}
\end{document}