在 tikzpicture 图中添加一条垂直线

在 tikzpicture 图中添加一条垂直线

所以我有下面的代码来创建一个图。现在我需要在 x = 1.5 处添加一条垂直虚线。可以吗?

\documentclass[
12pt, % font size
a4paper, % paper format
oneside, % one-sided pages
]{report}

\usepackage{tikz} % draw figures
\usetikzlibrary{shapes,arrows}
\usetikzlibrary{datavisualization}
\usetikzlibrary{datavisualization.formats.functions}
\usepackage{pgfplots} % discret signals

% math
\usepackage{amsmath}

\begin{document}

\begin{tikzpicture}
    \datavisualization [school book axes,
    visualize as smooth line/.list={one,two,three},
    y axis={label={$u(t)$}},
    x axis={label={$t$}},
    one={style={black}},
    two={style={red}},
    three={style={orange}}]

    data [set=one,format=function] {
        var x : interval [-3:3];
        func y = sin((\value x) r );
    }

    data [set=two,format=function] {
        var x : interval [-3:3];
        func y = sin((1.5 - \value x) r);
    };
\end{tikzpicture}

\end{document}

答案1

只需使用\draw [dashed] (x1,y1) -- (x2,y2);。例如从 -1 到 1:

您可以使用loosely dashed, densely dashed, loosely dotted, and densely dotted(Tikz 手册:http://ftp.fau.de/ctan/graphics/pgf/base/doc/pgfmanual.pdf(请参见 2.9 绘图选项第 34 页或 15.3.2 图形参数:虚线图案第 167 页)

在此处输入图片描述

梅威瑟:

\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows}
\usetikzlibrary{datavisualization.formats.functions}
\usepackage{pgfplots}
\begin{document}

\begin{tikzpicture}
    \datavisualization [school book axes,
    visualize as smooth line/.list={one,two,three},
    y axis={label={$u(t)$}},
    x axis={label={$t$}},
    one={style={black}},
    two={style={red}},
    three={style={orange}}]

    data [set=one,format=function] {
        var x : interval [-3:3];
        func y = sin((\value x) r );
    }

    data [set=two,format=function] {
        var x : interval [-3:3];
        func y = sin((1.5 - \value x) r);
    };

    \draw [dashed] (1.5,-1) -- (1.5,1);
\end{tikzpicture}

\end{document}

答案2

最简单的方法可能是添加

\draw[dashed] (1.5,0) -- (1.5,1);

在代码末尾。您可以更改 (1.5,0) 和 (1.5,1) 的 y 坐标以使线条更长。

相关内容