我正在尝试绘制数据并分析其与预测行为的吻合程度。我使用 pgfplots 使用以下命令绘制数据。\addplot[color=black,mark=x,only marks] table {data.dat};
我想使用以下命令在数据上绘制一个函数\addplot[color=black,mark=none] {x*x};
:
\documentclass[a4paper]{article}
\usepackage{tikz}
\usepackage{blindtext}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot table {
1 1
2 4.3
3 8.7
4 15.3
};
\addplot[color=black,mark=none] {x*x};
\end{axis}
\end{tikzpicture}
\blindtext
\end{document}
不幸的是,函数的域不一定与数据的域匹配。我可以明确指定函数的域以匹配我的数据的最小值/最大值,但我从其他地方导入数据,这些值可能会偶尔发生变化。有没有办法自动调整函数域?
答案1
PGFPlots 将迄今为止遇到的数据的限制存储在名为\pgfplots@xmin
、\pgfplots@xmax
等的宏中。您可以使用它们来指定函数域的范围:
\documentclass[a4paper]{article}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\makeatletter
\newcommand{\pgfplotsxmin}{\pgfplots@xmin}
\newcommand{\pgfplotsxmax}{\pgfplots@xmax}
\makeatother
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot table {
1 1
2 4.3
3 8.7
4 15.3
};
\addplot [
color=black,
mark=none,
domain=\pgfplotsxmin:\pgfplotsxmax] {x*x};
\end{axis}
\end{tikzpicture}
\end{document}