我正在使用以下代码绘制 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 手册。