PGFPlots:如何移动从文件中读取的值

PGFPlots:如何移动从文件中读取的值

我有一个从文件中读取值的图。现在我想移动文件中的值。使用 PGFPlots 的内置方法可以实现吗?我想要类似 shift 函数的东西:

\begin{tikzpicture}
    \begin{axis}[
                width=\textwidth,
                height=8cm,
                xlabel={$t~[s]$},
                ylabel={$u$},
                legend entries={a,b},
                ymin=-10,
                ymax=10,
                enlarge x limits=false
    ]
         \addplot+[shift={(-10,5)}] file {data.dat};
    \end{axis}  
\end{tikzpicture}

答案1

如果我正确理解了“shift”的意思,你可以使用x expry expr选项如下:

\documentclass{article}
\usepackage{pgfplots,filecontents}
\pgfplotsset{compat=newest}

\begin{filecontents}{data.dat}
1   2
2   4
3   6
4   8
5   10
\end{filecontents}

\begin{document}
    \begin{tikzpicture}
        \begin{axis}[
                    width=\textwidth,
                    height=8cm,
                    xlabel={$t~[s]$},
                    ylabel={$u$},
                    legend entries={a,b},
                    enlarge x limits=false
        ]
             \addplot table [x expr=\thisrowno{0}-10,y expr=\thisrowno{1}+5] {data.dat};
        \end{axis}  
    \end{tikzpicture}
\end{document}

相关内容