更改 pgfplots 中的数据符号

更改 pgfplots 中的数据符号

我正在处理 3d 图。让我们考虑以下 MWE:

\documentclass{article}

\usepackage{pgf,pgfplots,pgfplotstable}
\pgfplotsset{compat=newest}
\usepgfplotslibrary{colormaps}
\usepgfplotslibrary{groupplots}
\usetikzlibrary{arrows.meta}

\begin{filecontents*}{data.dat}
       rx         ry       rz
-24.86780    0.00000    1.000
-24.41886    0.00002    1.000
-23.97329    0.00010    0.999
-23.53110    0.00022    0.998
-23.09230    0.00039    0.996
-22.65693    0.00061    0.994
-22.22498    0.00087    0.991
-21.79648    0.00118    0.988
-21.37144    0.00153    0.985
-20.94988    0.00192    0.981
-20.53182    0.00236    0.976
-20.11727    0.00285    0.972
\end{filecontents*}

\begin{document}

\begin{figure}[htbp]
    \centering
 
    \begin{tikzpicture}
    \begin{axis}[
        title = Trajectory,
        xmin = -25, xmax = -19,
        ymin = -1, ymax = 1,
        zmin=0.8, zmax=1,
        xtick distance = 5,
        ytick distance = 1,
        xlabel={$downrange$},
        ylabel={$crossrange$},
        zlabel={$altitude$},
        y label style={sloped},
        x label style={sloped},
        grid = both,
        grid style = {dotted},
        minor tick num = 1,
        major grid style = {lightgray!75},
        minor grid style = {lightgray!75},
        width = 0.85\textwidth,
        height = 0.50\textwidth,
        view={65}{40},
        %scale only axis,
        legend cell align = {left},
        legend pos = north east
    ]


    \addplot3 [smooth, black, ultra thick] table [x = {rx}, y = {ry}, z = {rz}] {data.dat};
    \addplot3 [smooth, black, loosely dashed, ultra thick] table [x = {rx}, y = -{ry}, z = {rz}] {data.dat};

    \legend{
    n1 (k),
    n1 (j),
}
 
\end{axis}
\end{tikzpicture}
\caption{plot}
\end{figure}



\end{document}

我想知道除了我编写的图之外,如何添加一个新图,其中每个 y 的符号都是反转的。我尝试了在新的 内使用y={-ry}和,但不起作用。我猜想在第一种情况下,算法找不到任何名为“-ry”的列,这就是它报告错误的原因,而对于后一种情况,我不知道。y=-{ry}addplot

是否有任何策略可以改变单个列值的符号而无需创建全新的数据表?

答案1

你追

y expr= -\thisrow{ry}

而不是y=-ry。在y expr(和类似的x expr)中z expr,您提供一个表达式,使用 访问文件中的数据\thisrow{<column name>}

相关内容