pst-plot:来自不同文件的 xy 数据

pst-plot:来自不同文件的 xy 数据

当 x 和 y 数据存储在不同的文件中时,如何使用 pst-plot 绘图?

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{pst-plot}
\usepackage{auto-pst-pdf}

\begin{document}

\begin{postscript}
\readdata{\xData}{x.dat}
\readdata{\yData}{y.dat}
\begin{psgraph}[axesstyle=frame](0,0)(25,7.5){10cm}{6cm}
\listplot{**What to do here?**}
\end{psgraph}
\end{postscript}

\end{document}

答案1

在 PostScript 中你可以任何事物

\readdata{\xData}{x.dat}
\readdata{\yData}{y.dat}
\def\DATA{ 
  /X [\xData] def /Y [\yData] def % save as array
  0 1 X length 1 sub {            % on stack is the loop variable
    /Index ED                     % save it 
    X Index get Y Index get       % get x y
  } for }                         % end for loop
\begin{psgraph}[axesstyle=frame,Dx=2](0,0)(25,7.5){10cm}{6cm}
\listplot{\DATA}
\end{psgraph}

答案2

以下是使用 PGFPlots 执行此操作的方法。您可以使用样式使来自不同表的列可用copy column from table

\documentclass[border=5pt]{standalone}
\usepackage{pgfplots, pgfplotstable}
\usepackage{filecontents}

\begin{filecontents}{A.dat}
0
1
2
3
4
5
\end{filecontents}

\begin{filecontents}{B.dat}
0
1
4
9
16
25
\end{filecontents}

\pgfplotstableset{
create on use/y/.style={create col/copy column from table={B.dat}{0}}
}

\begin{document}

\begin{tikzpicture}
\begin{axis}
\addplot table [y=y] {x.dat};
\end{axis}
\end{tikzpicture}

\end{document}

相关内容