pgfplots:边距“吃掉”了我的图表的某些部分

pgfplots:边距“吃掉”了我的图表的某些部分

问题

我使用pgfplots选项ultra thickans,而没有明确给出 y 轴的定义域。

在这种情况下,似乎我的图表的某些部分被边距“吃掉了”:请参见下图以了解我的意思。

有办法避免这种情况吗?

代码

\documentclass{article}
\usepackage{pgfplots}
\begin{document}

\begin{tikzpicture} 
\pgfplotsset{every axis/.append style={
                    axis x line=middle,    % put the x axis in the middle
                    axis y line=middle,    % put the y axis in the middle
                    axis line style={->},  % arrows on the axis
                    xlabel={$x$},          % default put x on x-axis
                    ylabel={$y$},          % default put y on y-axis
                    grid = major
                    }}

\begin{axis}[xmin=-5,xmax=5]
\addplot[orange,smooth, ultra thick] {sin(deg(x))} ;                 
\end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案1

原因是,外面的一切都会axis被剪裁,而且边缘有粗线,其中一部分被切掉(类似于节点仅在绘图边缘附近部分渲染)。您可以添加clip=false以关闭剪辑,或者y稍微延长轴,例如使用enlarge y limits={rel=0.01}

\documentclass{article}
\usepackage{pgfplots}
\begin{document}

\begin{tikzpicture} 
\pgfplotsset{every axis/.append style={
                    axis x line=middle,    % put the x axis in the middle
                    axis y line=middle,    % put the y axis in the middle
                    axis line style={->},  % arrows on the axis
                    xlabel={$x$},          % default put x on x-axis
                    ylabel={$y$},          % default put y on y-axis
                    grid = major,
                    enlarge y limits={rel=0.01}
                    %clip=false
                    }}

\begin{axis}[xmin=-5,xmax=5]
\addplot[orange,smooth, ultra thick] {sin(deg(x))} ;                 
\end{axis}
\end{tikzpicture}

\end{document}

相关内容