根据所描绘的数据计算轴限值

根据所描绘的数据计算轴限值

pgfplots轴环境中,我想让轴限制依赖于所描绘的数据或其他数据。

考虑最小工作示例

\documentclass{standalone}
\usepackage{pgfplots}

\begin{filecontents}{table_1.txt}
    x y
    1 1
    2 2
\end{filecontents}

\begin{filecontents}{table_2.txt}
    x y
    1 2
    2 1
\end{filecontents}

\begin{document}
    \begin{tikzpicture}
        \begin{axis}
            \addplot table {table_1.txt};
            \addplot table {table_2.txt};
        \end{axis}  
    \end{tikzpicture}
\end{document}

我想设置xminxmax轴选项,使得两侧的偏移量为xOffSet,因此

xmin = minimum of all x data - xOffSet * (maximum of all x data - minimum of all x data)
xmax = maximum of all x data + xOffSet * (maximum of all x data - minimum of all x data)

我怎样才能做到这一点?

并且是否也可以使用表文件中的其他数据来设置轴限制?

答案1

这就是enlargelimitsenlarge x limits的用途。如果设置enlarge x limits=0.3,轴限值将增加数据范围的 30%:

\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}

\begin{filecontents}{table_1.txt}
    x y
    1 1
    2 2
\end{filecontents}

\begin{filecontents}{table_2.txt}
    x y
    1 2
    2 1
\end{filecontents}

\begin{document}
    \begin{tikzpicture}
        \begin{axis}[
            enlarge x limits=0.3,
            enlarge y limits=0.3
        ]
            \addplot table {table_1.txt};
            \addplot table {table_2.txt};
        \end{axis}  
    \end{tikzpicture}
\end{document}

相关内容