如何绘制和阴影与图例相关的集合?

如何绘制和阴影与图例相关的集合?

假设$x$$z$是区间内的变量$[0,1]^2$。如何绘制以下集合并为其着色并提供图例?

$c1 \quad if 0<x<1/13*(5-2sqrt(3)),0<z<1/2(2x+x^2)+1/2sqrt(4x^3+x^4)$
$c2 \quad if 0<x<1/13*(5-2sqrt(3)),1/2(2x+x^2)+1/2sqrt(4x^3+x^4)<z<2x$ 

答案1

这是一个非常基本的版本。当然,添加一些键可以使事情变得更简单。基本上,您需要为上限和下限添加两个图,然后遮蔽它们之间的区域。(forget plot只是意味着辅助图不会在图例中提及。)

\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
\pgfplotsset{width=6cm,height=6cm,compat=1.17}
\begin{document}
\begin{tikzpicture}
 \begin{axis}[axis lines=middle,no marks,
    xmin=0,xmax=1,ymin=0,ymax=1,
    xlabel={$x$},ylabel={$y$},
    xtick distance=0.25,ytick distance=0.25]
  \begin{scope}[domain=0:{(5-2*sqrt(3))/13}]
   \addplot[forget plot,name path=c1a] {0};
   \addplot[forget plot,name path=c1b] {(2*x+x^2)/2+sqrt(4*x^3+x^4)/2};
   \addplot fill between[of=c1a and c1b];
   \addlegendentry{$c_1$}
   \addplot[forget plot,name path=c2a] {(2*x+x^2)/2+sqrt(4*x^3+x^4)/2};
   \addplot[forget plot,name path=c2b] {2*x};
   \addplot fill between[of=c2a and c2b];     
   \addlegendentry{$c_2$}
  \end{scope} 
 \end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容