Draw feasible region between constraints (TikZ and pgf) [closed]
I'm trying to shade the feasible region ABCDE but for some reason, only get a weird line. This is the code:
begin{tikzpicture}
% axes
begin{axis}[axis on top,smooth,
axis line style=very thick,
axis x line=bottom,
axis y line=left,
ymin=0,ymax=17,xmin=0,xmax=17,
xlabel=$x_1$, ylabel=$x_2$,grid=major
]
% constraints
draw [name path global=xaxis] (0,0) -- (17,0);
draw [name path=yaxis] (0,0) -- (0,17);
addplot[name path global=firstline,very thick, domain=0:17]{6-0.5*x};
addplot[name path global=secondline,very thick, domain=0:17]{3+0.5*x};
addplot[name path global=thirdline,very thick, domain=0:17]{16-2*x};
addplot[name path global=fourthline,very thick, domain=0:17]{7};
% feasible area
fill[name intersections={of=xaxis and yaxis,by=point1},
name intersections={of=secondline and yaxis,by=point2},
name intersections={of=firstline and secondline,by=point3},
name intersections={of=firstline and thirdline,by=point4},
name intersections={of=thirdline and xaxis,by=point5},
][very thick,draw=orange,pattern=crosshatch dots,pattern color=green!60!white](point1)--(point2)--(point3)--(point4)--(point5)--(point1);
% intersection points name
node at (axis cs:0.5,0.7){small{$A$}};
node at (axis cs:0.5,3.9){small{$B$}};
node at (axis cs:3,5.2){small{$C$}};
node at (axis cs:6.8,3.9){small{$D$}};
node at (axis cs:8.2,0.7){small{$E$}};
end{axis}
end{tikzpicture}
Most of the code is taken from one of the responses (cmhughes) here:
How to draw the region of inequality?
Thanks for any insights.
EDIT: Following marmot suggestion, I've added pgfplotsset{compat=1.15} (or whatever version supported) to the preamble and that solved the problem.
tikz-pgf pgfplots intersections
closed as off-topic by CarLaTeX, Stefan Pinnow, Zarko, Kurt, Phelype Oleinik Feb 13 at 20:35
- This question does not fall within the scope of TeX, LaTeX or related typesetting systems as defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.
|
show 1 more comment
I'm trying to shade the feasible region ABCDE but for some reason, only get a weird line. This is the code:
begin{tikzpicture}
% axes
begin{axis}[axis on top,smooth,
axis line style=very thick,
axis x line=bottom,
axis y line=left,
ymin=0,ymax=17,xmin=0,xmax=17,
xlabel=$x_1$, ylabel=$x_2$,grid=major
]
% constraints
draw [name path global=xaxis] (0,0) -- (17,0);
draw [name path=yaxis] (0,0) -- (0,17);
addplot[name path global=firstline,very thick, domain=0:17]{6-0.5*x};
addplot[name path global=secondline,very thick, domain=0:17]{3+0.5*x};
addplot[name path global=thirdline,very thick, domain=0:17]{16-2*x};
addplot[name path global=fourthline,very thick, domain=0:17]{7};
% feasible area
fill[name intersections={of=xaxis and yaxis,by=point1},
name intersections={of=secondline and yaxis,by=point2},
name intersections={of=firstline and secondline,by=point3},
name intersections={of=firstline and thirdline,by=point4},
name intersections={of=thirdline and xaxis,by=point5},
][very thick,draw=orange,pattern=crosshatch dots,pattern color=green!60!white](point1)--(point2)--(point3)--(point4)--(point5)--(point1);
% intersection points name
node at (axis cs:0.5,0.7){small{$A$}};
node at (axis cs:0.5,3.9){small{$B$}};
node at (axis cs:3,5.2){small{$C$}};
node at (axis cs:6.8,3.9){small{$D$}};
node at (axis cs:8.2,0.7){small{$E$}};
end{axis}
end{tikzpicture}
Most of the code is taken from one of the responses (cmhughes) here:
How to draw the region of inequality?
Thanks for any insights.
EDIT: Following marmot suggestion, I've added pgfplotsset{compat=1.15} (or whatever version supported) to the preamble and that solved the problem.
tikz-pgf pgfplots intersections
closed as off-topic by CarLaTeX, Stefan Pinnow, Zarko, Kurt, Phelype Oleinik Feb 13 at 20:35
- This question does not fall within the scope of TeX, LaTeX or related typesetting systems as defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.
5
Welcome to TeX.SE! I get an area if I compile with the preambledocumentclass[tikz,border=3.14mm]{standalone} usepackage{pgfplots} pgfplotsset{compat=1.16} usetikzlibrary{intersections,patterns} begin{document}
and of course putend{document}
at the end. To understand where your problem comes from, you need to provide the complete preamble, i.e. an MWE.
– marmot
Aug 24 '18 at 15:57
1
If you want to connect A-B-C-D-E, you need to addname intersections={of=firstline and secondline,by=point2a}
(which represents C) and add this node to your drawing. Adding--cycle
may also help. However, I also cannot reproduce your problem and the area is drawn nicely with marmot’s minimal wrapper.
– Jasper Habicht
Aug 24 '18 at 16:34
I just rejected an edit by a user with the same name, but different profile picture. May it be that you have two accounts? I've heard that you could merge them. (And if that's really you, I don't understand the comment on version 1.15 vs. 1.16, I get areas in both versions. Or do you just mean that you do not yet have version 1.16?) BTW, I'd be really curious to see the preamble that caused that strange result...
– marmot
Aug 24 '18 at 18:57
Thanks, just merge the accounts. I am using the exact preamble you suggested. Again, only 1.15 gives me the correct area. I'm using Overleaf v2, perhaps it only uses 1.15? When I go to Overleaf v1 I get an error that I can use maximum 1.14 (which gives me the right area). The main thing is that adding compat command solves the problem. Thanks again.
– user169054
Aug 25 '18 at 7:11
4
I'm voting to close this question as off-topic because solved in comment adding pgfplotsset{compat=1.15}.
– CarLaTeX
Feb 13 at 19:57
|
show 1 more comment
I'm trying to shade the feasible region ABCDE but for some reason, only get a weird line. This is the code:
begin{tikzpicture}
% axes
begin{axis}[axis on top,smooth,
axis line style=very thick,
axis x line=bottom,
axis y line=left,
ymin=0,ymax=17,xmin=0,xmax=17,
xlabel=$x_1$, ylabel=$x_2$,grid=major
]
% constraints
draw [name path global=xaxis] (0,0) -- (17,0);
draw [name path=yaxis] (0,0) -- (0,17);
addplot[name path global=firstline,very thick, domain=0:17]{6-0.5*x};
addplot[name path global=secondline,very thick, domain=0:17]{3+0.5*x};
addplot[name path global=thirdline,very thick, domain=0:17]{16-2*x};
addplot[name path global=fourthline,very thick, domain=0:17]{7};
% feasible area
fill[name intersections={of=xaxis and yaxis,by=point1},
name intersections={of=secondline and yaxis,by=point2},
name intersections={of=firstline and secondline,by=point3},
name intersections={of=firstline and thirdline,by=point4},
name intersections={of=thirdline and xaxis,by=point5},
][very thick,draw=orange,pattern=crosshatch dots,pattern color=green!60!white](point1)--(point2)--(point3)--(point4)--(point5)--(point1);
% intersection points name
node at (axis cs:0.5,0.7){small{$A$}};
node at (axis cs:0.5,3.9){small{$B$}};
node at (axis cs:3,5.2){small{$C$}};
node at (axis cs:6.8,3.9){small{$D$}};
node at (axis cs:8.2,0.7){small{$E$}};
end{axis}
end{tikzpicture}
Most of the code is taken from one of the responses (cmhughes) here:
How to draw the region of inequality?
Thanks for any insights.
EDIT: Following marmot suggestion, I've added pgfplotsset{compat=1.15} (or whatever version supported) to the preamble and that solved the problem.
tikz-pgf pgfplots intersections
I'm trying to shade the feasible region ABCDE but for some reason, only get a weird line. This is the code:
begin{tikzpicture}
% axes
begin{axis}[axis on top,smooth,
axis line style=very thick,
axis x line=bottom,
axis y line=left,
ymin=0,ymax=17,xmin=0,xmax=17,
xlabel=$x_1$, ylabel=$x_2$,grid=major
]
% constraints
draw [name path global=xaxis] (0,0) -- (17,0);
draw [name path=yaxis] (0,0) -- (0,17);
addplot[name path global=firstline,very thick, domain=0:17]{6-0.5*x};
addplot[name path global=secondline,very thick, domain=0:17]{3+0.5*x};
addplot[name path global=thirdline,very thick, domain=0:17]{16-2*x};
addplot[name path global=fourthline,very thick, domain=0:17]{7};
% feasible area
fill[name intersections={of=xaxis and yaxis,by=point1},
name intersections={of=secondline and yaxis,by=point2},
name intersections={of=firstline and secondline,by=point3},
name intersections={of=firstline and thirdline,by=point4},
name intersections={of=thirdline and xaxis,by=point5},
][very thick,draw=orange,pattern=crosshatch dots,pattern color=green!60!white](point1)--(point2)--(point3)--(point4)--(point5)--(point1);
% intersection points name
node at (axis cs:0.5,0.7){small{$A$}};
node at (axis cs:0.5,3.9){small{$B$}};
node at (axis cs:3,5.2){small{$C$}};
node at (axis cs:6.8,3.9){small{$D$}};
node at (axis cs:8.2,0.7){small{$E$}};
end{axis}
end{tikzpicture}
Most of the code is taken from one of the responses (cmhughes) here:
How to draw the region of inequality?
Thanks for any insights.
EDIT: Following marmot suggestion, I've added pgfplotsset{compat=1.15} (or whatever version supported) to the preamble and that solved the problem.
tikz-pgf pgfplots intersections
tikz-pgf pgfplots intersections
edited Feb 13 at 20:20
Stefan Pinnow
20k83276
20k83276
asked Aug 24 '18 at 15:51
user169054user169054
132
132
closed as off-topic by CarLaTeX, Stefan Pinnow, Zarko, Kurt, Phelype Oleinik Feb 13 at 20:35
- This question does not fall within the scope of TeX, LaTeX or related typesetting systems as defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.
closed as off-topic by CarLaTeX, Stefan Pinnow, Zarko, Kurt, Phelype Oleinik Feb 13 at 20:35
- This question does not fall within the scope of TeX, LaTeX or related typesetting systems as defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.
5
Welcome to TeX.SE! I get an area if I compile with the preambledocumentclass[tikz,border=3.14mm]{standalone} usepackage{pgfplots} pgfplotsset{compat=1.16} usetikzlibrary{intersections,patterns} begin{document}
and of course putend{document}
at the end. To understand where your problem comes from, you need to provide the complete preamble, i.e. an MWE.
– marmot
Aug 24 '18 at 15:57
1
If you want to connect A-B-C-D-E, you need to addname intersections={of=firstline and secondline,by=point2a}
(which represents C) and add this node to your drawing. Adding--cycle
may also help. However, I also cannot reproduce your problem and the area is drawn nicely with marmot’s minimal wrapper.
– Jasper Habicht
Aug 24 '18 at 16:34
I just rejected an edit by a user with the same name, but different profile picture. May it be that you have two accounts? I've heard that you could merge them. (And if that's really you, I don't understand the comment on version 1.15 vs. 1.16, I get areas in both versions. Or do you just mean that you do not yet have version 1.16?) BTW, I'd be really curious to see the preamble that caused that strange result...
– marmot
Aug 24 '18 at 18:57
Thanks, just merge the accounts. I am using the exact preamble you suggested. Again, only 1.15 gives me the correct area. I'm using Overleaf v2, perhaps it only uses 1.15? When I go to Overleaf v1 I get an error that I can use maximum 1.14 (which gives me the right area). The main thing is that adding compat command solves the problem. Thanks again.
– user169054
Aug 25 '18 at 7:11
4
I'm voting to close this question as off-topic because solved in comment adding pgfplotsset{compat=1.15}.
– CarLaTeX
Feb 13 at 19:57
|
show 1 more comment
5
Welcome to TeX.SE! I get an area if I compile with the preambledocumentclass[tikz,border=3.14mm]{standalone} usepackage{pgfplots} pgfplotsset{compat=1.16} usetikzlibrary{intersections,patterns} begin{document}
and of course putend{document}
at the end. To understand where your problem comes from, you need to provide the complete preamble, i.e. an MWE.
– marmot
Aug 24 '18 at 15:57
1
If you want to connect A-B-C-D-E, you need to addname intersections={of=firstline and secondline,by=point2a}
(which represents C) and add this node to your drawing. Adding--cycle
may also help. However, I also cannot reproduce your problem and the area is drawn nicely with marmot’s minimal wrapper.
– Jasper Habicht
Aug 24 '18 at 16:34
I just rejected an edit by a user with the same name, but different profile picture. May it be that you have two accounts? I've heard that you could merge them. (And if that's really you, I don't understand the comment on version 1.15 vs. 1.16, I get areas in both versions. Or do you just mean that you do not yet have version 1.16?) BTW, I'd be really curious to see the preamble that caused that strange result...
– marmot
Aug 24 '18 at 18:57
Thanks, just merge the accounts. I am using the exact preamble you suggested. Again, only 1.15 gives me the correct area. I'm using Overleaf v2, perhaps it only uses 1.15? When I go to Overleaf v1 I get an error that I can use maximum 1.14 (which gives me the right area). The main thing is that adding compat command solves the problem. Thanks again.
– user169054
Aug 25 '18 at 7:11
4
I'm voting to close this question as off-topic because solved in comment adding pgfplotsset{compat=1.15}.
– CarLaTeX
Feb 13 at 19:57
5
5
Welcome to TeX.SE! I get an area if I compile with the preamble
documentclass[tikz,border=3.14mm]{standalone} usepackage{pgfplots} pgfplotsset{compat=1.16} usetikzlibrary{intersections,patterns} begin{document}
and of course put end{document}
at the end. To understand where your problem comes from, you need to provide the complete preamble, i.e. an MWE.– marmot
Aug 24 '18 at 15:57
Welcome to TeX.SE! I get an area if I compile with the preamble
documentclass[tikz,border=3.14mm]{standalone} usepackage{pgfplots} pgfplotsset{compat=1.16} usetikzlibrary{intersections,patterns} begin{document}
and of course put end{document}
at the end. To understand where your problem comes from, you need to provide the complete preamble, i.e. an MWE.– marmot
Aug 24 '18 at 15:57
1
1
If you want to connect A-B-C-D-E, you need to add
name intersections={of=firstline and secondline,by=point2a}
(which represents C) and add this node to your drawing. Adding --cycle
may also help. However, I also cannot reproduce your problem and the area is drawn nicely with marmot’s minimal wrapper.– Jasper Habicht
Aug 24 '18 at 16:34
If you want to connect A-B-C-D-E, you need to add
name intersections={of=firstline and secondline,by=point2a}
(which represents C) and add this node to your drawing. Adding --cycle
may also help. However, I also cannot reproduce your problem and the area is drawn nicely with marmot’s minimal wrapper.– Jasper Habicht
Aug 24 '18 at 16:34
I just rejected an edit by a user with the same name, but different profile picture. May it be that you have two accounts? I've heard that you could merge them. (And if that's really you, I don't understand the comment on version 1.15 vs. 1.16, I get areas in both versions. Or do you just mean that you do not yet have version 1.16?) BTW, I'd be really curious to see the preamble that caused that strange result...
– marmot
Aug 24 '18 at 18:57
I just rejected an edit by a user with the same name, but different profile picture. May it be that you have two accounts? I've heard that you could merge them. (And if that's really you, I don't understand the comment on version 1.15 vs. 1.16, I get areas in both versions. Or do you just mean that you do not yet have version 1.16?) BTW, I'd be really curious to see the preamble that caused that strange result...
– marmot
Aug 24 '18 at 18:57
Thanks, just merge the accounts. I am using the exact preamble you suggested. Again, only 1.15 gives me the correct area. I'm using Overleaf v2, perhaps it only uses 1.15? When I go to Overleaf v1 I get an error that I can use maximum 1.14 (which gives me the right area). The main thing is that adding compat command solves the problem. Thanks again.
– user169054
Aug 25 '18 at 7:11
Thanks, just merge the accounts. I am using the exact preamble you suggested. Again, only 1.15 gives me the correct area. I'm using Overleaf v2, perhaps it only uses 1.15? When I go to Overleaf v1 I get an error that I can use maximum 1.14 (which gives me the right area). The main thing is that adding compat command solves the problem. Thanks again.
– user169054
Aug 25 '18 at 7:11
4
4
I'm voting to close this question as off-topic because solved in comment adding pgfplotsset{compat=1.15}.
– CarLaTeX
Feb 13 at 19:57
I'm voting to close this question as off-topic because solved in comment adding pgfplotsset{compat=1.15}.
– CarLaTeX
Feb 13 at 19:57
|
show 1 more comment
0
active
oldest
votes
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
5
Welcome to TeX.SE! I get an area if I compile with the preamble
documentclass[tikz,border=3.14mm]{standalone} usepackage{pgfplots} pgfplotsset{compat=1.16} usetikzlibrary{intersections,patterns} begin{document}
and of course putend{document}
at the end. To understand where your problem comes from, you need to provide the complete preamble, i.e. an MWE.– marmot
Aug 24 '18 at 15:57
1
If you want to connect A-B-C-D-E, you need to add
name intersections={of=firstline and secondline,by=point2a}
(which represents C) and add this node to your drawing. Adding--cycle
may also help. However, I also cannot reproduce your problem and the area is drawn nicely with marmot’s minimal wrapper.– Jasper Habicht
Aug 24 '18 at 16:34
I just rejected an edit by a user with the same name, but different profile picture. May it be that you have two accounts? I've heard that you could merge them. (And if that's really you, I don't understand the comment on version 1.15 vs. 1.16, I get areas in both versions. Or do you just mean that you do not yet have version 1.16?) BTW, I'd be really curious to see the preamble that caused that strange result...
– marmot
Aug 24 '18 at 18:57
Thanks, just merge the accounts. I am using the exact preamble you suggested. Again, only 1.15 gives me the correct area. I'm using Overleaf v2, perhaps it only uses 1.15? When I go to Overleaf v1 I get an error that I can use maximum 1.14 (which gives me the right area). The main thing is that adding compat command solves the problem. Thanks again.
– user169054
Aug 25 '18 at 7:11
4
I'm voting to close this question as off-topic because solved in comment adding pgfplotsset{compat=1.15}.
– CarLaTeX
Feb 13 at 19:57