在 PGF 图中用标记移动曲线

在 PGF 图中用标记移动曲线

我基本上想复制一条曲线,并在另一个位置绘制带有标记的完全相同的曲线。我想我可以用 shift 命令来做到这一点,但结果并不像我想象的那样。当我使用 shift 时,曲线和标记不再重叠(见图)。曲线和标记似乎都不在正确的位置。(标记几乎是正确的,但由于某种原因略微向下移动。)

有任何想法吗?

代码:

\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{filecontents}

\begin{filecontents}{branches-bpcu.dat}
L c1
1 0.0106891 
2 0.058871
3 0.0993073
4 0.126898
5 0.147865
6 0.162113
7 0.174859
8 0.184307
9 0.191817
10 0.198146
11 0.204505
12 0.210035
13 0.215313
14 0.218655
15 0.222387
16 0.225159
17 0.227173
18 0.230822
19 0.232982
20 0.234931
\end{filecontents}

\begin{document}
\begin{tikzpicture}
\begin{axis}[]
\def\myplot{\addplot[mark=o,solid] table[x=L,y=c1] {branches-bpcu.dat};}
\myplot
\begin{scope}[
%           xshift=5,
            shift={(axis cs:5,0)},
            ]
    \myplot
\end{scope}
\end{axis}
\end{tikzpicture}%
\end{document}

enter image description here

答案1

您可以绘制两次相同的图,但第二次绘制时x=L使用 ,而不是 。x expr=\thisrow{L}+5

\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{filecontents}

\begin{filecontents}{branches-bpcu.dat}
L c1
1 0.0106891 
2 0.058871
3 0.0993073
4 0.126898
5 0.147865
6 0.162113
7 0.174859
8 0.184307
9 0.191817
10 0.198146
11 0.204505
12 0.210035
13 0.215313
14 0.218655
15 0.222387
16 0.225159
17 0.227173
18 0.230822
19 0.232982
20 0.234931
\end{filecontents}

\begin{document}
\begin{tikzpicture}
\begin{axis}[]
\addplot[mark=o,solid] table[x=L,y=c1] {branches-bpcu.dat};
\addplot[mark=o,solid] table[x expr=\thisrow{L}+5,y=c1] {branches-bpcu.dat};
\end{axis}
\end{tikzpicture}
\end{document}

enter image description here

相关内容