我正在尝试填充一些线性函数之间的区域。但填充结果看起来很奇怪。以下是代码:
\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}