使用 PGFPlots 绘制曲线时的条件线样式

使用 PGFPlots 绘制曲线时的条件线样式

我想根据域绘制具有不同样式的函数。例如:

\documentclass[tikz]{standalone}

\usepackage{pgfplots}

\begin{document}

    \begin{tikzpicture}
        \begin{axis}[
            scale only axis=true,
            height=2.8cm,
            width=16cm,
            axis lines=middle,
            xmin=-11,
            xmax=11,
            ymax=1.15,
            ymin=-1.15,
            xtick={-3*pi,-2*pi,-pi,pi,2*pi,3*pi},
            xticklabels={$-3\pi$,$-2\pi$,$-\pi$,$\pi$,$2\pi$,$3\pi$},
            ytick distance=1,
            legend style={
                at={(0.5,1.14)},
                anchor=south,
                legend columns=-1
            },
        ]
            \addplot[domain=-pi/2:pi/2,samples=50,red] {sin(deg(x))};
            \addplot[domain=-3*pi:-pi/2,samples=50,red,dashed] {sin(deg(x))};
            \addplot[domain=pi/2:3*pi,samples=50,red,dashed] {sin(deg(x))};
            \addplot[domain=0:pi,samples=50,blue] {cos(deg(x))};
            \addplot[domain=-3*pi:0,samples=50,blue,dashed] {cos(deg(x))};
            \addplot[domain=pi/2:3*pi,samples=50,blue,dashed] {cos(deg(x))};
        \end{axis}
    \end{tikzpicture}

\end{document}

这将绘制正弦和余弦,在某些域中用实线绘制,在其他地方用虚线绘制。有没有办法用 PGFPlots 在一个命令中完成此操作?当然有方法 去做吧使用“纯”TikZ,但我想专门使用 PGFPlots 来实现这一点。谢谢!

输出

相关内容