全局设置轴线*和轴线*

全局设置轴线*和轴线*

我遇到了一个“问题”,但尚未找到解决方案。如果使用tikzplotlib或导出图形matlab2tikz,则线条

axis x line*=bottom,
axis y line*=left,

是随机插入的 - 或者至少在我看来是任意的 - 改变了图形的“框架”。简单地删除 tikzfigure 中的这些代码行并不是什么大问题,但它让我很疑惑... 有没有办法在文档的序言中全局隐藏这些行?

梅威瑟:

\documentclass{article}
\usepackage{pgfplots}
\usepackage{tikz}
\newlength{\figureheight}
\newlength{\figurewidth}

\begin{document}
\begin{tikzpicture}
\setlength{\figurewidth}{0.8\textwidth}
\setlength{\figureheight}{0.4\textwidth}

\begin{axis}[%
width=0.951\figurewidth,
height=\figureheight,
at={(0\figurewidth,0\figureheight)},
scale only axis,
every outer x axis line/.append style={black},
every x tick label/.append style={font=\color{black}},
every x tick/.append style={black},
xmin=0.04,
xmax=0.11,
xlabel={$x$},
every outer y axis line/.append style={black},
every y tick label/.append style={font=\color{black}},
every y tick/.append style={black},
ymin=0,
ymax=1,
ylabel={$y$},
axis background/.style={fill=white},
axis x line*=bottom,
axis y line*=left,
xmajorgrids,
ymajorgrids,
]
\addplot [color=red, line width=2.0pt]
  table[row sep=crcr]{%
0.04    0\\
0.05    0.05\\
0.06    0.12\\
0.07    0.3\\
0.08    0.6\\
0.09    0.8\\
0.10    0.95\\
0.11    1\\
};

\end{axis}
\end{tikzpicture}
\end{document}

MWE 得出的图表:

在此处输入图片描述

axis x line*=bottom带有并axis y line*=left注释掉的结果:

在此处输入图片描述

答案1

我不认为有办法“抑制”它们,但你可以覆写/否决它们。为此,您可以使用样式every axis post来附加您想要的内容。在本例中,这是axis lines=box

% used PGFPlots v1.16
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
    \pgfplotsset{
        every axis post/.append style={
            axis lines=box,
        },
    }
\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        axis x line*=bottom,
        axis y line*=left,
    ]
        \addplot {x};
    \end{axis}
\end{tikzpicture}
\end{document}

该图显示了上述代码的结果

相关内容