盒状图形错误

盒状图形错误

感谢薛定谔的猫提供的代码是否可以在乳胶中重现附图

我想把下图放在一个矩形框中,矩形框的边是两个轴和两条与轴平行的直线。x 和 y 也应该写在相应轴的底部(中间)。一切都很完美。但存在一些问题

  1. 在 (0,2) 处 $Q$ 不可见——我想将 Q 写在 y 轴的左侧

  2. 在标记位置 0.125 处带有 {\arrow[black]{>}} - 箭头的左侧部分不可见

  \documentclass[tikz]{standalone}
\usetikzlibrary{arrows.meta,decorations.markings}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}[declare function={f(\x)=4-0.5*(\x-2)*(\x-2);}]
 \begin{axis}[grid=minor, xmin=0, xmax=5, ymin=0, ymax=4.5,
         xlabel=$x$, ylabel={$y$},
         xtick = {}, ytick = {},
         scale=1, restrict y to domain=0:4.5]

 \draw[densely dashed] (0,2) parabola bend (2,4) ({2+2*sqrt(2)},0)
    (0,2) node[left]{$Q$}  (2,4) node[below]{$P$}
    (0.9,0) to[out=90,in=-110] (1.4,4.5);
 \draw[green!60!black,thick] (0.2,4.05) to[bend right=5]
 (0.2,{f(4.7)+0.05}) --  plot[variable=\x,domain=4.7:2]
  (\x+0.05,{f(\x)+0.05}) -- cycle;
 \draw[purple,thick,>={Stealth[round]},postaction=decorate,
    decoration={markings,
    mark=at position 0.125 with {\arrow[black]{>}},
    mark=at position 0.4 with {\arrow[black]{>.>}},
    mark=at position 0.7 with {\arrow[black]{>}},
    mark=at position 0.925 with {\arrow[black]{>.>}},
    }] (0,4) --
 (0,{f(4.65)}) --  plot[variable=\x,domain=4.65:2]
  (\x,{f(\x)}) -- cycle;
 \end{axis} 
\end{tikzpicture}
\end{document}

这两个问题该如何解决呢?

相关内容