为什么我在 tikz 中填充会产生奇怪的结果?

为什么我在 tikz 中填充会产生奇怪的结果?

我正在尝试填充一些线性函数之间的区域。但填充结果看起来很奇怪。以下是代码:


\usepackage{amsmath}  
\usepackage{systeme}      
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}


\pgfplotsset{compat=1.16}
   

\begin{document}

\section{Problem 2:}
Because all the constraints as well as the function to maximize are linear, by the graphical method, we only need to check corners of the feasible region, which looks like: 

\bigskip

\begin{tikzpicture}
\begin{axis}[
    axis lines = left,
    xlabel = $x_1$,
    ylabel = $x_2$,
    ymin=0, ymax=10
]
%Below the first constraint is defined
\addplot [name path=red, 
    domain= 0:15, 
    samples=100, 
    color=red,
]
{(x -4)/2};

%Here the second constraint is defined
\addplot [name path=blue, 
    domain=0:15, 
    samples=100, 
    color=blue,
    ]
{3+x};

%Here the third constraint is defined
\addplot [name path=green, 
domain= 0:15, 
    samples=100, 
    color=green,
    ]
{2};

\path[name path=redgreen,
    intersection segments={of=red and green,
    sequence=A1 -- B0,},
];

\addplot [gray] fill between[of = blue and redgreen]; 



\end{axis}
\end{tikzpicture}


\end{document}

这些代码产生了

在此处输入图片描述

有人能解释一下发生了什么并尝试修复它吗?我只希望填充红线、绿线和蓝线之间的区域。非常感谢大家!

答案1

由于没有提及任何内容,我假设文档类别为文章

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}  
\usepackage{systeme}      
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}


\pgfplotsset{compat=1.16}
   

\begin{document}

\section{Problem 2:}
Because all the constraints as well as the function to maximize are linear, by the 
 graphical method, we only need to check corners of the feasible region, which looks 
like: 

\bigskip

\begin{tikzpicture}
\begin{axis}[
    axis lines = left,
    xlabel = $x_1$,
    ylabel = $x_2$,
    ymin=0, ymax=10
]
%Below the first constraint is defined
\addplot [name path=red, 
    domain= 0:15, 
    samples=100, 
    color=red,
]
{(x -4)/2};

%Here the second constraint is defined
\addplot [name path=blue, 
    domain=0:15, 
    samples=100, 
    color=blue,
    ]
{3+x};

%Here the third constraint is defined
\addplot [name path=green, 
domain= 0:15, 
    samples=100, 
    color=green,
    ]
{2};

\path [
    name path=gr,
    intersection segments={of=green and red,
    sequence={L1 -- R2}%------the first segment of green and second segment of red
}];

\addplot [gray] fill between[of = blue and gr]; 
\end{axis}
\end{tikzpicture}


\end{document}

相关内容