Tikzpicture 覆盖在文本上

Tikzpicture 覆盖在文本上

我正在使用以下代码绘制 tikzpicture

\documentclass[twoside,a4paper,bibliography=totoc]{scrartcl}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\usepackage{tikz-cd}
\usepgfplotslibrary{fillbetween}
\usepackage{blindtext}
\begin{document}
\blindtext
\begin{figure}[htpb]
\centering
\begin{tikzpicture}[scale=.6]
\begin{axis}[hide axis]
    \plot[name path=A, very thick,samples=201,domain=8/11:1.48, color=blue] {x};
    \plot[name path=B,very thick,samples=200,domain=0.81:8/11, color=blue]{12*x-8};
    \plot[name path=C,very thick,samples=200,domain=0.81:1.48, color=blue]{-.35*x+2};
    \addplot[fill=blue,opacity=.1] fill between [of=A and B, soft clip={domain=.81:1.48}];
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}

然而,这会产生一个位于文本上方的图,尽管我只想要下面或顶部的图,无论 [htpb] 决定什么。

在此处输入图片描述

我不知道我错过了什么。实际上,我用基本相同的方式制作了其他图,但这个问题没有出现。任何帮助都值得感激。

答案1

只需将clip bounding box=default tikz选项添加到您的axis环境中即可。

\documentclass{article}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\usepackage{tikz-cd}
\usepgfplotslibrary{fillbetween}
\usepackage{blindtext}
\begin{document}
\blindtext
\begin{figure}[htpb]
\centering
\begin{tikzpicture}[scale=.6]
\begin{axis}[hide axis, clip bounding box=default tikz]
    \plot[name path=A, very thick,samples=201,domain=8/11:1.48, color=blue] {x};
    \plot[name path=B,very thick,samples=200,domain=0.81:8/11, color=blue]{12*x-8};
    \plot[name path=C,very thick,samples=200,domain=0.81:1.48, color=blue]{-.35*x+2};
    \addplot[fill=blue,opacity=.1] fill between [of=A and B, soft clip={domain=.81:1.48}];
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}

在此处输入图片描述


hide axis详细了解影响边界框的方式4.20.2 剪辑部分pgfplots 手册

在此处输入图片描述

相关内容