我有一个从文件中读取值的图。现在我想移动文件中的值。使用 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 expr
和y 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}