Color each edge separately in TikZ
I want to color the edge AB with thick blue color and edges AC and BC with thick red color.
Referring to the answer in Multiple color edges in TikZ, one way is to use the clip[draw]
command. But, I am not sure how to use in my context, as my shape is a triangle and the triangle is filled with orange color as well.
Expected Result:
Current Result:
The triangle should still have the orange color filled and the edges with the above mentioned color.
Note: This example is from the PGF manual only. Providing the code in the manual is not recommended/appreciated without explanation.
Is there an alternate way to fill a shape instead of using filldraw
or draw[fill]
command.
MWE:
documentclass{article}
usepackage{tikz}
usetikzlibrary{calc}
usetikzlibrary{through}
usetikzlibrary{intersections}
begin{document}
begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
coordinate[label=left:textcolor{blue!80!black}{$A$}] (A) at (0,0);
coordinate[label=right:textcolor{blue!80!black}{$B$}] (B) at (1.25,0.25);
draw[name path=A--B] (A) -- (B);
% draw let p1 = ($(B) - (A)$),
% n2 = {veclen(x1,y1)}
% in
% (A) circle (n2)
% (B) circle (n2);
node (D) [name path=D,draw,circle through=(B),label=left:$D$,help lines,draw] at (A) {};
node (E) [name path=E,draw,circle through=(A),label=right:$E$,help lines,draw] at (B) {};
path [name intersections={of=D and E, by={[label=above:$C$]C,[label=below:$C'$]C'}}];
%coordinate[label=above:$C$] (C) at (intersection-1); using by instead
draw [name path=C--C',red] (C) -- (C');
path [name intersections={of=A--B and C--C', by=F}];
node[fill=red,inner sep=1pt, label=-45:$F$] at (F) {};
draw[fill=orange!80] (A) -- (B) -- (C) -- cycle;
foreach point in {A,B,C}
fill [black,opacity=0.5] (point) circle (2pt);
end{tikzpicture}
end{document}
tikz-pgf color
add a comment |
I want to color the edge AB with thick blue color and edges AC and BC with thick red color.
Referring to the answer in Multiple color edges in TikZ, one way is to use the clip[draw]
command. But, I am not sure how to use in my context, as my shape is a triangle and the triangle is filled with orange color as well.
Expected Result:
Current Result:
The triangle should still have the orange color filled and the edges with the above mentioned color.
Note: This example is from the PGF manual only. Providing the code in the manual is not recommended/appreciated without explanation.
Is there an alternate way to fill a shape instead of using filldraw
or draw[fill]
command.
MWE:
documentclass{article}
usepackage{tikz}
usetikzlibrary{calc}
usetikzlibrary{through}
usetikzlibrary{intersections}
begin{document}
begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
coordinate[label=left:textcolor{blue!80!black}{$A$}] (A) at (0,0);
coordinate[label=right:textcolor{blue!80!black}{$B$}] (B) at (1.25,0.25);
draw[name path=A--B] (A) -- (B);
% draw let p1 = ($(B) - (A)$),
% n2 = {veclen(x1,y1)}
% in
% (A) circle (n2)
% (B) circle (n2);
node (D) [name path=D,draw,circle through=(B),label=left:$D$,help lines,draw] at (A) {};
node (E) [name path=E,draw,circle through=(A),label=right:$E$,help lines,draw] at (B) {};
path [name intersections={of=D and E, by={[label=above:$C$]C,[label=below:$C'$]C'}}];
%coordinate[label=above:$C$] (C) at (intersection-1); using by instead
draw [name path=C--C',red] (C) -- (C');
path [name intersections={of=A--B and C--C', by=F}];
node[fill=red,inner sep=1pt, label=-45:$F$] at (F) {};
draw[fill=orange!80] (A) -- (B) -- (C) -- cycle;
foreach point in {A,B,C}
fill [black,opacity=0.5] (point) circle (2pt);
end{tikzpicture}
end{document}
tikz-pgf color
2
What if you adddraw [name path=A--C,thick,red] (A) -- (C) -- (B); draw [name path=A--B,thick,blue] (A) -- (B);
at the end of yourtikzpicture
?
– leandriis
22 hours ago
@leandriis then how do I use fill draw. You are splitting the draw statements
– subham soni
21 hours ago
In my above comment I have split up the triangle into three parts (orange triangle, red line, blue line), as you already noticed. In this comment I also made a suggestion on how to draw the orange filled triangle with thick red lines using a singledraw
command. You will nevertheless need a seconddraw
command to add the thick blue line.
– leandriis
21 hours ago
add a comment |
I want to color the edge AB with thick blue color and edges AC and BC with thick red color.
Referring to the answer in Multiple color edges in TikZ, one way is to use the clip[draw]
command. But, I am not sure how to use in my context, as my shape is a triangle and the triangle is filled with orange color as well.
Expected Result:
Current Result:
The triangle should still have the orange color filled and the edges with the above mentioned color.
Note: This example is from the PGF manual only. Providing the code in the manual is not recommended/appreciated without explanation.
Is there an alternate way to fill a shape instead of using filldraw
or draw[fill]
command.
MWE:
documentclass{article}
usepackage{tikz}
usetikzlibrary{calc}
usetikzlibrary{through}
usetikzlibrary{intersections}
begin{document}
begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
coordinate[label=left:textcolor{blue!80!black}{$A$}] (A) at (0,0);
coordinate[label=right:textcolor{blue!80!black}{$B$}] (B) at (1.25,0.25);
draw[name path=A--B] (A) -- (B);
% draw let p1 = ($(B) - (A)$),
% n2 = {veclen(x1,y1)}
% in
% (A) circle (n2)
% (B) circle (n2);
node (D) [name path=D,draw,circle through=(B),label=left:$D$,help lines,draw] at (A) {};
node (E) [name path=E,draw,circle through=(A),label=right:$E$,help lines,draw] at (B) {};
path [name intersections={of=D and E, by={[label=above:$C$]C,[label=below:$C'$]C'}}];
%coordinate[label=above:$C$] (C) at (intersection-1); using by instead
draw [name path=C--C',red] (C) -- (C');
path [name intersections={of=A--B and C--C', by=F}];
node[fill=red,inner sep=1pt, label=-45:$F$] at (F) {};
draw[fill=orange!80] (A) -- (B) -- (C) -- cycle;
foreach point in {A,B,C}
fill [black,opacity=0.5] (point) circle (2pt);
end{tikzpicture}
end{document}
tikz-pgf color
I want to color the edge AB with thick blue color and edges AC and BC with thick red color.
Referring to the answer in Multiple color edges in TikZ, one way is to use the clip[draw]
command. But, I am not sure how to use in my context, as my shape is a triangle and the triangle is filled with orange color as well.
Expected Result:
Current Result:
The triangle should still have the orange color filled and the edges with the above mentioned color.
Note: This example is from the PGF manual only. Providing the code in the manual is not recommended/appreciated without explanation.
Is there an alternate way to fill a shape instead of using filldraw
or draw[fill]
command.
MWE:
documentclass{article}
usepackage{tikz}
usetikzlibrary{calc}
usetikzlibrary{through}
usetikzlibrary{intersections}
begin{document}
begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
coordinate[label=left:textcolor{blue!80!black}{$A$}] (A) at (0,0);
coordinate[label=right:textcolor{blue!80!black}{$B$}] (B) at (1.25,0.25);
draw[name path=A--B] (A) -- (B);
% draw let p1 = ($(B) - (A)$),
% n2 = {veclen(x1,y1)}
% in
% (A) circle (n2)
% (B) circle (n2);
node (D) [name path=D,draw,circle through=(B),label=left:$D$,help lines,draw] at (A) {};
node (E) [name path=E,draw,circle through=(A),label=right:$E$,help lines,draw] at (B) {};
path [name intersections={of=D and E, by={[label=above:$C$]C,[label=below:$C'$]C'}}];
%coordinate[label=above:$C$] (C) at (intersection-1); using by instead
draw [name path=C--C',red] (C) -- (C');
path [name intersections={of=A--B and C--C', by=F}];
node[fill=red,inner sep=1pt, label=-45:$F$] at (F) {};
draw[fill=orange!80] (A) -- (B) -- (C) -- cycle;
foreach point in {A,B,C}
fill [black,opacity=0.5] (point) circle (2pt);
end{tikzpicture}
end{document}
tikz-pgf color
tikz-pgf color
asked 22 hours ago
subham sonisubham soni
4,22082981
4,22082981
2
What if you adddraw [name path=A--C,thick,red] (A) -- (C) -- (B); draw [name path=A--B,thick,blue] (A) -- (B);
at the end of yourtikzpicture
?
– leandriis
22 hours ago
@leandriis then how do I use fill draw. You are splitting the draw statements
– subham soni
21 hours ago
In my above comment I have split up the triangle into three parts (orange triangle, red line, blue line), as you already noticed. In this comment I also made a suggestion on how to draw the orange filled triangle with thick red lines using a singledraw
command. You will nevertheless need a seconddraw
command to add the thick blue line.
– leandriis
21 hours ago
add a comment |
2
What if you adddraw [name path=A--C,thick,red] (A) -- (C) -- (B); draw [name path=A--B,thick,blue] (A) -- (B);
at the end of yourtikzpicture
?
– leandriis
22 hours ago
@leandriis then how do I use fill draw. You are splitting the draw statements
– subham soni
21 hours ago
In my above comment I have split up the triangle into three parts (orange triangle, red line, blue line), as you already noticed. In this comment I also made a suggestion on how to draw the orange filled triangle with thick red lines using a singledraw
command. You will nevertheless need a seconddraw
command to add the thick blue line.
– leandriis
21 hours ago
2
2
What if you add
draw [name path=A--C,thick,red] (A) -- (C) -- (B); draw [name path=A--B,thick,blue] (A) -- (B);
at the end of your tikzpicture
?– leandriis
22 hours ago
What if you add
draw [name path=A--C,thick,red] (A) -- (C) -- (B); draw [name path=A--B,thick,blue] (A) -- (B);
at the end of your tikzpicture
?– leandriis
22 hours ago
@leandriis then how do I use fill draw. You are splitting the draw statements
– subham soni
21 hours ago
@leandriis then how do I use fill draw. You are splitting the draw statements
– subham soni
21 hours ago
In my above comment I have split up the triangle into three parts (orange triangle, red line, blue line), as you already noticed. In this comment I also made a suggestion on how to draw the orange filled triangle with thick red lines using a single
draw
command. You will nevertheless need a second draw
command to add the thick blue line.– leandriis
21 hours ago
In my above comment I have split up the triangle into three parts (orange triangle, red line, blue line), as you already noticed. In this comment I also made a suggestion on how to draw the orange filled triangle with thick red lines using a single
draw
command. You will nevertheless need a second draw
command to add the thick blue line.– leandriis
21 hours ago
add a comment |
2 Answers
2
active
oldest
votes
Some options can be applied to a portion of the path, this is the case of rounded corners
. But this does not work with the colors
as indicated on page 149 of manual 3.1.1 which always apply to the entire path.
Screenshot of the page 149:
So, to make it easier:
- I first colored the ABC triangle orange with the
fill
command (which doesn't draw anything); - then I drew two paths, one in
blue
, the other inred
.
Commented code:
documentclass[border=5mm]{standalone}
usepackage{tikz}
usetikzlibrary{calc}
usetikzlibrary{through}
usetikzlibrary{intersections}
begin{document}
begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
coordinate[label=left:textcolor{blue!80!black}{$A$}] (A) at (0,0);
coordinate[label=right:textcolor{blue!80!black}{$B$}] (B) at (1.25,0.25);
path[name path=A--B] (A) -- (B);% <-- construct the path, but not draw it
% draw let p1 = ($(B) - (A)$),
% n2 = {veclen(x1,y1)}
% in
% (A) circle (n2)
% (B) circle (n2);
node (D) [name path=D,draw,circle through=(B),label=left:$D$,help lines,draw] at (A) {};
node (E) [name path=E,draw,circle through=(A),label=right:$E$,help lines,draw] at (B) {};
path [name intersections={of=D and E, by={[label=above:$C$]C,[label=below:$C'$]C'}}];
%coordinate[label=above:$C$] (C) at (intersection-1); using by instead
path [name path=C--C',red] (C) -- (C');
path [name intersections={of=A--B and C--C', by=F}];
%node[fill=red,inner sep=1pt, label=-45:$F$] at (F) {};
fill[orange!80] (A) -- (B) -- (C) -- cycle;%<-- only fill without draw the edges
draw[blue,thick](A)--(B);%<-- draw in blue
draw[red,thick](A)--(C)--(B);%<-- draw in red
foreach point in {A,B,C}
fill [black,opacity=0.5] (point) circle (2pt);
end{tikzpicture}
end{document}
add a comment |
You can save some of your paths by using the possibilities of the path
or draw
command. Especially the empty paths may be removed by integrating the intersections into the relevant paths.
To color your way from A
to B
simply draw a line between the two points (after drawing the frame or simply removing the frame). The same works for A--B--C
.
documentclass{article}
usepackage{tikz}
usetikzlibrary{calc}
usetikzlibrary{through}
usetikzlibrary{intersections}
begin{document}
begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
path[name path=A--B] (0,0) coordinate[label=left:textcolor{blue!80!black}{$A$}] (A) --
(1.25,0.25) coordinate[label=right:textcolor{blue!80!black}{$B$}] (B);
node (D) [name path=D,draw,circle through=(B),label=left:$D$,help lines,draw] at (A) {};
node (E) [name path=E,draw,circle through=(A),label=right:$E$,help lines,draw] at (B) {};
draw[name intersections={of=D and E, by={[label=above:$C$]C,[label=below:$C'$]C'}},
name path=C--C',red] (C) -- (C');
node[fill=red,inner sep=1pt,name intersections={of=A--B and C--C', by=F},label=-45:$F$] at (F) {};
draw[draw=none,fill=orange!80] (A) -- (B) -- (C) -- cycle;
draw[blue,thick] (A) -- (B);
draw[red,thick] (A) -- (C) -- (B);
foreach point in {A,B,C}
fill [black,opacity=0.5] (point) circle (2pt);
end{tikzpicture}
end{document}
One could also usedraw[fill=orange!80, draw=red,thick] (A) -- (B) -- (C) -- cycle;
instead ofdraw[fill=orange!80] (A) -- (B) -- (C) -- cycle;
anddraw[red,thick] (A) -- (C) -- (B);
.
– leandriis
22 hours ago
@leandriis Well, it's to highlight the "color each edge separately" from the question. You are right that it is even shorter by overlaying drawn paths.
– TeXnician
22 hours ago
As you already suggested in your answer to '[...] save some of your paths [...]' I thought the same could also be applied to the code that is added to answer the question.
– leandriis
21 hours ago
@leandriis My initial intention was to specifically remove these empty paths, but of course you are right ;)
– TeXnician
21 hours ago
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f478550%2fcolor-each-edge-separately-in-tikz%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Some options can be applied to a portion of the path, this is the case of rounded corners
. But this does not work with the colors
as indicated on page 149 of manual 3.1.1 which always apply to the entire path.
Screenshot of the page 149:
So, to make it easier:
- I first colored the ABC triangle orange with the
fill
command (which doesn't draw anything); - then I drew two paths, one in
blue
, the other inred
.
Commented code:
documentclass[border=5mm]{standalone}
usepackage{tikz}
usetikzlibrary{calc}
usetikzlibrary{through}
usetikzlibrary{intersections}
begin{document}
begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
coordinate[label=left:textcolor{blue!80!black}{$A$}] (A) at (0,0);
coordinate[label=right:textcolor{blue!80!black}{$B$}] (B) at (1.25,0.25);
path[name path=A--B] (A) -- (B);% <-- construct the path, but not draw it
% draw let p1 = ($(B) - (A)$),
% n2 = {veclen(x1,y1)}
% in
% (A) circle (n2)
% (B) circle (n2);
node (D) [name path=D,draw,circle through=(B),label=left:$D$,help lines,draw] at (A) {};
node (E) [name path=E,draw,circle through=(A),label=right:$E$,help lines,draw] at (B) {};
path [name intersections={of=D and E, by={[label=above:$C$]C,[label=below:$C'$]C'}}];
%coordinate[label=above:$C$] (C) at (intersection-1); using by instead
path [name path=C--C',red] (C) -- (C');
path [name intersections={of=A--B and C--C', by=F}];
%node[fill=red,inner sep=1pt, label=-45:$F$] at (F) {};
fill[orange!80] (A) -- (B) -- (C) -- cycle;%<-- only fill without draw the edges
draw[blue,thick](A)--(B);%<-- draw in blue
draw[red,thick](A)--(C)--(B);%<-- draw in red
foreach point in {A,B,C}
fill [black,opacity=0.5] (point) circle (2pt);
end{tikzpicture}
end{document}
add a comment |
Some options can be applied to a portion of the path, this is the case of rounded corners
. But this does not work with the colors
as indicated on page 149 of manual 3.1.1 which always apply to the entire path.
Screenshot of the page 149:
So, to make it easier:
- I first colored the ABC triangle orange with the
fill
command (which doesn't draw anything); - then I drew two paths, one in
blue
, the other inred
.
Commented code:
documentclass[border=5mm]{standalone}
usepackage{tikz}
usetikzlibrary{calc}
usetikzlibrary{through}
usetikzlibrary{intersections}
begin{document}
begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
coordinate[label=left:textcolor{blue!80!black}{$A$}] (A) at (0,0);
coordinate[label=right:textcolor{blue!80!black}{$B$}] (B) at (1.25,0.25);
path[name path=A--B] (A) -- (B);% <-- construct the path, but not draw it
% draw let p1 = ($(B) - (A)$),
% n2 = {veclen(x1,y1)}
% in
% (A) circle (n2)
% (B) circle (n2);
node (D) [name path=D,draw,circle through=(B),label=left:$D$,help lines,draw] at (A) {};
node (E) [name path=E,draw,circle through=(A),label=right:$E$,help lines,draw] at (B) {};
path [name intersections={of=D and E, by={[label=above:$C$]C,[label=below:$C'$]C'}}];
%coordinate[label=above:$C$] (C) at (intersection-1); using by instead
path [name path=C--C',red] (C) -- (C');
path [name intersections={of=A--B and C--C', by=F}];
%node[fill=red,inner sep=1pt, label=-45:$F$] at (F) {};
fill[orange!80] (A) -- (B) -- (C) -- cycle;%<-- only fill without draw the edges
draw[blue,thick](A)--(B);%<-- draw in blue
draw[red,thick](A)--(C)--(B);%<-- draw in red
foreach point in {A,B,C}
fill [black,opacity=0.5] (point) circle (2pt);
end{tikzpicture}
end{document}
add a comment |
Some options can be applied to a portion of the path, this is the case of rounded corners
. But this does not work with the colors
as indicated on page 149 of manual 3.1.1 which always apply to the entire path.
Screenshot of the page 149:
So, to make it easier:
- I first colored the ABC triangle orange with the
fill
command (which doesn't draw anything); - then I drew two paths, one in
blue
, the other inred
.
Commented code:
documentclass[border=5mm]{standalone}
usepackage{tikz}
usetikzlibrary{calc}
usetikzlibrary{through}
usetikzlibrary{intersections}
begin{document}
begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
coordinate[label=left:textcolor{blue!80!black}{$A$}] (A) at (0,0);
coordinate[label=right:textcolor{blue!80!black}{$B$}] (B) at (1.25,0.25);
path[name path=A--B] (A) -- (B);% <-- construct the path, but not draw it
% draw let p1 = ($(B) - (A)$),
% n2 = {veclen(x1,y1)}
% in
% (A) circle (n2)
% (B) circle (n2);
node (D) [name path=D,draw,circle through=(B),label=left:$D$,help lines,draw] at (A) {};
node (E) [name path=E,draw,circle through=(A),label=right:$E$,help lines,draw] at (B) {};
path [name intersections={of=D and E, by={[label=above:$C$]C,[label=below:$C'$]C'}}];
%coordinate[label=above:$C$] (C) at (intersection-1); using by instead
path [name path=C--C',red] (C) -- (C');
path [name intersections={of=A--B and C--C', by=F}];
%node[fill=red,inner sep=1pt, label=-45:$F$] at (F) {};
fill[orange!80] (A) -- (B) -- (C) -- cycle;%<-- only fill without draw the edges
draw[blue,thick](A)--(B);%<-- draw in blue
draw[red,thick](A)--(C)--(B);%<-- draw in red
foreach point in {A,B,C}
fill [black,opacity=0.5] (point) circle (2pt);
end{tikzpicture}
end{document}
Some options can be applied to a portion of the path, this is the case of rounded corners
. But this does not work with the colors
as indicated on page 149 of manual 3.1.1 which always apply to the entire path.
Screenshot of the page 149:
So, to make it easier:
- I first colored the ABC triangle orange with the
fill
command (which doesn't draw anything); - then I drew two paths, one in
blue
, the other inred
.
Commented code:
documentclass[border=5mm]{standalone}
usepackage{tikz}
usetikzlibrary{calc}
usetikzlibrary{through}
usetikzlibrary{intersections}
begin{document}
begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
coordinate[label=left:textcolor{blue!80!black}{$A$}] (A) at (0,0);
coordinate[label=right:textcolor{blue!80!black}{$B$}] (B) at (1.25,0.25);
path[name path=A--B] (A) -- (B);% <-- construct the path, but not draw it
% draw let p1 = ($(B) - (A)$),
% n2 = {veclen(x1,y1)}
% in
% (A) circle (n2)
% (B) circle (n2);
node (D) [name path=D,draw,circle through=(B),label=left:$D$,help lines,draw] at (A) {};
node (E) [name path=E,draw,circle through=(A),label=right:$E$,help lines,draw] at (B) {};
path [name intersections={of=D and E, by={[label=above:$C$]C,[label=below:$C'$]C'}}];
%coordinate[label=above:$C$] (C) at (intersection-1); using by instead
path [name path=C--C',red] (C) -- (C');
path [name intersections={of=A--B and C--C', by=F}];
%node[fill=red,inner sep=1pt, label=-45:$F$] at (F) {};
fill[orange!80] (A) -- (B) -- (C) -- cycle;%<-- only fill without draw the edges
draw[blue,thick](A)--(B);%<-- draw in blue
draw[red,thick](A)--(C)--(B);%<-- draw in red
foreach point in {A,B,C}
fill [black,opacity=0.5] (point) circle (2pt);
end{tikzpicture}
end{document}
edited 20 hours ago
answered 20 hours ago
AndréCAndréC
10.2k11547
10.2k11547
add a comment |
add a comment |
You can save some of your paths by using the possibilities of the path
or draw
command. Especially the empty paths may be removed by integrating the intersections into the relevant paths.
To color your way from A
to B
simply draw a line between the two points (after drawing the frame or simply removing the frame). The same works for A--B--C
.
documentclass{article}
usepackage{tikz}
usetikzlibrary{calc}
usetikzlibrary{through}
usetikzlibrary{intersections}
begin{document}
begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
path[name path=A--B] (0,0) coordinate[label=left:textcolor{blue!80!black}{$A$}] (A) --
(1.25,0.25) coordinate[label=right:textcolor{blue!80!black}{$B$}] (B);
node (D) [name path=D,draw,circle through=(B),label=left:$D$,help lines,draw] at (A) {};
node (E) [name path=E,draw,circle through=(A),label=right:$E$,help lines,draw] at (B) {};
draw[name intersections={of=D and E, by={[label=above:$C$]C,[label=below:$C'$]C'}},
name path=C--C',red] (C) -- (C');
node[fill=red,inner sep=1pt,name intersections={of=A--B and C--C', by=F},label=-45:$F$] at (F) {};
draw[draw=none,fill=orange!80] (A) -- (B) -- (C) -- cycle;
draw[blue,thick] (A) -- (B);
draw[red,thick] (A) -- (C) -- (B);
foreach point in {A,B,C}
fill [black,opacity=0.5] (point) circle (2pt);
end{tikzpicture}
end{document}
One could also usedraw[fill=orange!80, draw=red,thick] (A) -- (B) -- (C) -- cycle;
instead ofdraw[fill=orange!80] (A) -- (B) -- (C) -- cycle;
anddraw[red,thick] (A) -- (C) -- (B);
.
– leandriis
22 hours ago
@leandriis Well, it's to highlight the "color each edge separately" from the question. You are right that it is even shorter by overlaying drawn paths.
– TeXnician
22 hours ago
As you already suggested in your answer to '[...] save some of your paths [...]' I thought the same could also be applied to the code that is added to answer the question.
– leandriis
21 hours ago
@leandriis My initial intention was to specifically remove these empty paths, but of course you are right ;)
– TeXnician
21 hours ago
add a comment |
You can save some of your paths by using the possibilities of the path
or draw
command. Especially the empty paths may be removed by integrating the intersections into the relevant paths.
To color your way from A
to B
simply draw a line between the two points (after drawing the frame or simply removing the frame). The same works for A--B--C
.
documentclass{article}
usepackage{tikz}
usetikzlibrary{calc}
usetikzlibrary{through}
usetikzlibrary{intersections}
begin{document}
begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
path[name path=A--B] (0,0) coordinate[label=left:textcolor{blue!80!black}{$A$}] (A) --
(1.25,0.25) coordinate[label=right:textcolor{blue!80!black}{$B$}] (B);
node (D) [name path=D,draw,circle through=(B),label=left:$D$,help lines,draw] at (A) {};
node (E) [name path=E,draw,circle through=(A),label=right:$E$,help lines,draw] at (B) {};
draw[name intersections={of=D and E, by={[label=above:$C$]C,[label=below:$C'$]C'}},
name path=C--C',red] (C) -- (C');
node[fill=red,inner sep=1pt,name intersections={of=A--B and C--C', by=F},label=-45:$F$] at (F) {};
draw[draw=none,fill=orange!80] (A) -- (B) -- (C) -- cycle;
draw[blue,thick] (A) -- (B);
draw[red,thick] (A) -- (C) -- (B);
foreach point in {A,B,C}
fill [black,opacity=0.5] (point) circle (2pt);
end{tikzpicture}
end{document}
One could also usedraw[fill=orange!80, draw=red,thick] (A) -- (B) -- (C) -- cycle;
instead ofdraw[fill=orange!80] (A) -- (B) -- (C) -- cycle;
anddraw[red,thick] (A) -- (C) -- (B);
.
– leandriis
22 hours ago
@leandriis Well, it's to highlight the "color each edge separately" from the question. You are right that it is even shorter by overlaying drawn paths.
– TeXnician
22 hours ago
As you already suggested in your answer to '[...] save some of your paths [...]' I thought the same could also be applied to the code that is added to answer the question.
– leandriis
21 hours ago
@leandriis My initial intention was to specifically remove these empty paths, but of course you are right ;)
– TeXnician
21 hours ago
add a comment |
You can save some of your paths by using the possibilities of the path
or draw
command. Especially the empty paths may be removed by integrating the intersections into the relevant paths.
To color your way from A
to B
simply draw a line between the two points (after drawing the frame or simply removing the frame). The same works for A--B--C
.
documentclass{article}
usepackage{tikz}
usetikzlibrary{calc}
usetikzlibrary{through}
usetikzlibrary{intersections}
begin{document}
begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
path[name path=A--B] (0,0) coordinate[label=left:textcolor{blue!80!black}{$A$}] (A) --
(1.25,0.25) coordinate[label=right:textcolor{blue!80!black}{$B$}] (B);
node (D) [name path=D,draw,circle through=(B),label=left:$D$,help lines,draw] at (A) {};
node (E) [name path=E,draw,circle through=(A),label=right:$E$,help lines,draw] at (B) {};
draw[name intersections={of=D and E, by={[label=above:$C$]C,[label=below:$C'$]C'}},
name path=C--C',red] (C) -- (C');
node[fill=red,inner sep=1pt,name intersections={of=A--B and C--C', by=F},label=-45:$F$] at (F) {};
draw[draw=none,fill=orange!80] (A) -- (B) -- (C) -- cycle;
draw[blue,thick] (A) -- (B);
draw[red,thick] (A) -- (C) -- (B);
foreach point in {A,B,C}
fill [black,opacity=0.5] (point) circle (2pt);
end{tikzpicture}
end{document}
You can save some of your paths by using the possibilities of the path
or draw
command. Especially the empty paths may be removed by integrating the intersections into the relevant paths.
To color your way from A
to B
simply draw a line between the two points (after drawing the frame or simply removing the frame). The same works for A--B--C
.
documentclass{article}
usepackage{tikz}
usetikzlibrary{calc}
usetikzlibrary{through}
usetikzlibrary{intersections}
begin{document}
begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
path[name path=A--B] (0,0) coordinate[label=left:textcolor{blue!80!black}{$A$}] (A) --
(1.25,0.25) coordinate[label=right:textcolor{blue!80!black}{$B$}] (B);
node (D) [name path=D,draw,circle through=(B),label=left:$D$,help lines,draw] at (A) {};
node (E) [name path=E,draw,circle through=(A),label=right:$E$,help lines,draw] at (B) {};
draw[name intersections={of=D and E, by={[label=above:$C$]C,[label=below:$C'$]C'}},
name path=C--C',red] (C) -- (C');
node[fill=red,inner sep=1pt,name intersections={of=A--B and C--C', by=F},label=-45:$F$] at (F) {};
draw[draw=none,fill=orange!80] (A) -- (B) -- (C) -- cycle;
draw[blue,thick] (A) -- (B);
draw[red,thick] (A) -- (C) -- (B);
foreach point in {A,B,C}
fill [black,opacity=0.5] (point) circle (2pt);
end{tikzpicture}
end{document}
answered 22 hours ago
TeXnicianTeXnician
25.6k63390
25.6k63390
One could also usedraw[fill=orange!80, draw=red,thick] (A) -- (B) -- (C) -- cycle;
instead ofdraw[fill=orange!80] (A) -- (B) -- (C) -- cycle;
anddraw[red,thick] (A) -- (C) -- (B);
.
– leandriis
22 hours ago
@leandriis Well, it's to highlight the "color each edge separately" from the question. You are right that it is even shorter by overlaying drawn paths.
– TeXnician
22 hours ago
As you already suggested in your answer to '[...] save some of your paths [...]' I thought the same could also be applied to the code that is added to answer the question.
– leandriis
21 hours ago
@leandriis My initial intention was to specifically remove these empty paths, but of course you are right ;)
– TeXnician
21 hours ago
add a comment |
One could also usedraw[fill=orange!80, draw=red,thick] (A) -- (B) -- (C) -- cycle;
instead ofdraw[fill=orange!80] (A) -- (B) -- (C) -- cycle;
anddraw[red,thick] (A) -- (C) -- (B);
.
– leandriis
22 hours ago
@leandriis Well, it's to highlight the "color each edge separately" from the question. You are right that it is even shorter by overlaying drawn paths.
– TeXnician
22 hours ago
As you already suggested in your answer to '[...] save some of your paths [...]' I thought the same could also be applied to the code that is added to answer the question.
– leandriis
21 hours ago
@leandriis My initial intention was to specifically remove these empty paths, but of course you are right ;)
– TeXnician
21 hours ago
One could also use
draw[fill=orange!80, draw=red,thick] (A) -- (B) -- (C) -- cycle;
instead of draw[fill=orange!80] (A) -- (B) -- (C) -- cycle;
and draw[red,thick] (A) -- (C) -- (B);
.– leandriis
22 hours ago
One could also use
draw[fill=orange!80, draw=red,thick] (A) -- (B) -- (C) -- cycle;
instead of draw[fill=orange!80] (A) -- (B) -- (C) -- cycle;
and draw[red,thick] (A) -- (C) -- (B);
.– leandriis
22 hours ago
@leandriis Well, it's to highlight the "color each edge separately" from the question. You are right that it is even shorter by overlaying drawn paths.
– TeXnician
22 hours ago
@leandriis Well, it's to highlight the "color each edge separately" from the question. You are right that it is even shorter by overlaying drawn paths.
– TeXnician
22 hours ago
As you already suggested in your answer to '[...] save some of your paths [...]' I thought the same could also be applied to the code that is added to answer the question.
– leandriis
21 hours ago
As you already suggested in your answer to '[...] save some of your paths [...]' I thought the same could also be applied to the code that is added to answer the question.
– leandriis
21 hours ago
@leandriis My initial intention was to specifically remove these empty paths, but of course you are right ;)
– TeXnician
21 hours ago
@leandriis My initial intention was to specifically remove these empty paths, but of course you are right ;)
– TeXnician
21 hours ago
add a comment |
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f478550%2fcolor-each-edge-separately-in-tikz%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
What if you add
draw [name path=A--C,thick,red] (A) -- (C) -- (B); draw [name path=A--B,thick,blue] (A) -- (B);
at the end of yourtikzpicture
?– leandriis
22 hours ago
@leandriis then how do I use fill draw. You are splitting the draw statements
– subham soni
21 hours ago
In my above comment I have split up the triangle into three parts (orange triangle, red line, blue line), as you already noticed. In this comment I also made a suggestion on how to draw the orange filled triangle with thick red lines using a single
draw
command. You will nevertheless need a seconddraw
command to add the thick blue line.– leandriis
21 hours ago