Tikz Payoff MatrixLaTeX equivalent of ConTeXt buffersRotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?Numerical conditional within tikz keys?TikZ/ERD: node (=Entity) label on the insideuse circuitikz picture inside tikzpictureTikZ: Drawing an arc from an intersection to an intersectionDrawing rectilinear curves in Tikz, aka an Etch-a-Sketch drawing4*4 tikz payoff matrixLine up nested tikz enviroments or how to get rid of them
Why did the Apple IIe make a hideous noise if you inserted the disk upside down?
How do I tell my girlfriend she's been buying me books by the wrong author for the last nine months?
How to track mail undetectably?
Any Tips On Writing Extended Recollection In A Novel
English idiomatic equivalents of 能骗就骗 (if you can cheat, then cheat)
Find the closest three-digit hex colour
Why was Pan Am Flight 103 flying over Lockerbie?
What was the first science fiction or fantasy multiple choice book?
Disk usage confusion: 10G missing on Linux home partition on SSD
Would for willingness in the past
Does an NPC know when a character has passed the save for Truth Serum?
What was the point of separating stdout and stderr?
Is there a word for the act of simultaneously pulling and twisting an object?
Is it OK to throw pebbles and stones in streams, waterfalls, ponds, etc.?
Basis and cardinality
What happens if a caster is surprised while casting a spell with a long casting time?
How does mmorpg store data?
Why isn't UDP with reliability (implemented at Application layer) a substitute of TCP?
stability of hyperbolic PDE and DG-FEM
Having to constantly redo everything because I don't know how to do it
How can this fractal shape perfectly cover a certain platonic solid?
A quine of sorts
Is this house-rule removing the increased effect of cantrips at higher character levels balanced?
How is it possible for tall trees to pull water to heights more than 10m?
Tikz Payoff Matrix
LaTeX equivalent of ConTeXt buffersRotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?Numerical conditional within tikz keys?TikZ/ERD: node (=Entity) label on the insideuse circuitikz picture inside tikzpictureTikZ: Drawing an arc from an intersection to an intersectionDrawing rectilinear curves in Tikz, aka an Etch-a-Sketch drawing4*4 tikz payoff matrixLine up nested tikz enviroments or how to get rid of them
I am trying to remove the bottom two rows (C and D) completely so as to create a 2*4 payoff matrix. In addition to this, I would also like to move "Player 2" up slightly once they have been removed (roughly between A and B). I am having trouble figuring out how to do so and was wondering if anyone could help?
What I'd like it to look like more or less (with "Player 2" re-positioned to the middle of A and B):
documentclass[12pt]article
usepackagetikz
usetikzlibrarycalc
usetikzlibrarymatrix
usetikzlibrarypositioning
usepackagenatbib
begindocument
begincenterbegintikzpicture
defmyrowhead"T","F","G","T"
defmycolhead"A","B","C","D"
matrix[matrix of math nodes,draw,
every odd row/.style=align=right,every evenrow/.style=align=left,
nodes=text width=1.5cm,row sep=0.2cm,column sep=0.2cm]
(m) 2&3&6&5\12&2&9&9\-1&0&0&2\0&0&0&3\2&3&6&1\4&2&-1&8\4&2&4&8\4&2&-1&7\;
foreachx[count=xi from 2,evaluate=xx=int(2*x);xxi=int(xx+1)] in 1,2,3-m.north) -- ($(m-1-x)!0.5!(m-1-xi)$
foreachx in0,1,2,3
node[text depth=0.25ex,above=2mm] at ($(m.north west)!(2*x+1)/8!(m.north east)$)
pgfmathparsemyrowhead[x]pgfmathresult;
node[left=2mm] at ($(m.north west)!(2*x+1)/8!(m.south west)$)
pgfmathparsemycolhead[x]pgfmathresult;
node[above=18pt of m.north] (firm b) Player 1;
node[left=1.6cm of m.west,align=center,anchor=center] Player 2;
endtikzpicture
endcenter
enddocument
tikz-pgf tikz-pic
New contributor
add a comment |
I am trying to remove the bottom two rows (C and D) completely so as to create a 2*4 payoff matrix. In addition to this, I would also like to move "Player 2" up slightly once they have been removed (roughly between A and B). I am having trouble figuring out how to do so and was wondering if anyone could help?
What I'd like it to look like more or less (with "Player 2" re-positioned to the middle of A and B):
documentclass[12pt]article
usepackagetikz
usetikzlibrarycalc
usetikzlibrarymatrix
usetikzlibrarypositioning
usepackagenatbib
begindocument
begincenterbegintikzpicture
defmyrowhead"T","F","G","T"
defmycolhead"A","B","C","D"
matrix[matrix of math nodes,draw,
every odd row/.style=align=right,every evenrow/.style=align=left,
nodes=text width=1.5cm,row sep=0.2cm,column sep=0.2cm]
(m) 2&3&6&5\12&2&9&9\-1&0&0&2\0&0&0&3\2&3&6&1\4&2&-1&8\4&2&4&8\4&2&-1&7\;
foreachx[count=xi from 2,evaluate=xx=int(2*x);xxi=int(xx+1)] in 1,2,3-m.north) -- ($(m-1-x)!0.5!(m-1-xi)$
foreachx in0,1,2,3
node[text depth=0.25ex,above=2mm] at ($(m.north west)!(2*x+1)/8!(m.north east)$)
pgfmathparsemyrowhead[x]pgfmathresult;
node[left=2mm] at ($(m.north west)!(2*x+1)/8!(m.south west)$)
pgfmathparsemycolhead[x]pgfmathresult;
node[above=18pt of m.north] (firm b) Player 1;
node[left=1.6cm of m.west,align=center,anchor=center] Player 2;
endtikzpicture
endcenter
enddocument
tikz-pgf tikz-pic
New contributor
add a comment |
I am trying to remove the bottom two rows (C and D) completely so as to create a 2*4 payoff matrix. In addition to this, I would also like to move "Player 2" up slightly once they have been removed (roughly between A and B). I am having trouble figuring out how to do so and was wondering if anyone could help?
What I'd like it to look like more or less (with "Player 2" re-positioned to the middle of A and B):
documentclass[12pt]article
usepackagetikz
usetikzlibrarycalc
usetikzlibrarymatrix
usetikzlibrarypositioning
usepackagenatbib
begindocument
begincenterbegintikzpicture
defmyrowhead"T","F","G","T"
defmycolhead"A","B","C","D"
matrix[matrix of math nodes,draw,
every odd row/.style=align=right,every evenrow/.style=align=left,
nodes=text width=1.5cm,row sep=0.2cm,column sep=0.2cm]
(m) 2&3&6&5\12&2&9&9\-1&0&0&2\0&0&0&3\2&3&6&1\4&2&-1&8\4&2&4&8\4&2&-1&7\;
foreachx[count=xi from 2,evaluate=xx=int(2*x);xxi=int(xx+1)] in 1,2,3-m.north) -- ($(m-1-x)!0.5!(m-1-xi)$
foreachx in0,1,2,3
node[text depth=0.25ex,above=2mm] at ($(m.north west)!(2*x+1)/8!(m.north east)$)
pgfmathparsemyrowhead[x]pgfmathresult;
node[left=2mm] at ($(m.north west)!(2*x+1)/8!(m.south west)$)
pgfmathparsemycolhead[x]pgfmathresult;
node[above=18pt of m.north] (firm b) Player 1;
node[left=1.6cm of m.west,align=center,anchor=center] Player 2;
endtikzpicture
endcenter
enddocument
tikz-pgf tikz-pic
New contributor
I am trying to remove the bottom two rows (C and D) completely so as to create a 2*4 payoff matrix. In addition to this, I would also like to move "Player 2" up slightly once they have been removed (roughly between A and B). I am having trouble figuring out how to do so and was wondering if anyone could help?
What I'd like it to look like more or less (with "Player 2" re-positioned to the middle of A and B):
documentclass[12pt]article
usepackagetikz
usetikzlibrarycalc
usetikzlibrarymatrix
usetikzlibrarypositioning
usepackagenatbib
begindocument
begincenterbegintikzpicture
defmyrowhead"T","F","G","T"
defmycolhead"A","B","C","D"
matrix[matrix of math nodes,draw,
every odd row/.style=align=right,every evenrow/.style=align=left,
nodes=text width=1.5cm,row sep=0.2cm,column sep=0.2cm]
(m) 2&3&6&5\12&2&9&9\-1&0&0&2\0&0&0&3\2&3&6&1\4&2&-1&8\4&2&4&8\4&2&-1&7\;
foreachx[count=xi from 2,evaluate=xx=int(2*x);xxi=int(xx+1)] in 1,2,3-m.north) -- ($(m-1-x)!0.5!(m-1-xi)$
foreachx in0,1,2,3
node[text depth=0.25ex,above=2mm] at ($(m.north west)!(2*x+1)/8!(m.north east)$)
pgfmathparsemyrowhead[x]pgfmathresult;
node[left=2mm] at ($(m.north west)!(2*x+1)/8!(m.south west)$)
pgfmathparsemycolhead[x]pgfmathresult;
node[above=18pt of m.north] (firm b) Player 1;
node[left=1.6cm of m.west,align=center,anchor=center] Player 2;
endtikzpicture
endcenter
enddocument
tikz-pgf tikz-pic
tikz-pgf tikz-pic
New contributor
New contributor
edited 8 hours ago
Inquirer
New contributor
asked 9 hours ago
InquirerInquirer
212 bronze badges
212 bronze badges
New contributor
New contributor
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
I have tried to keep the same code skeleton you provided. The only thing that I might have changed is the two empty entires in defmycolhead"A","B","",""
.
documentclass[12pt]article
usepackagetikz
usetikzlibrarycalc
usetikzlibrarymatrix
usetikzlibrarypositioning
usepackagenatbib
begindocument
begincenterbegintikzpicture
defmyrowhead"T","F","G","T"
defmycolhead"A","B","",""
matrix[matrix of math nodes,
draw, every odd row/.style=align=right,
every evenrow/.style=align=left,
nodes=text width=1.5cm,
row sep=0.2cm,column sep=0.2cm]
(m)
2&3&6&5\
12&2&9&9\
-1&0&0&2\
0&0&0&3\
;
foreachx[count=xi from 2,evaluate=xx=int(2*x);xxi=int(xx+1)] in 1-m.north) -- ($(m-1-x)!0.5!(m-1-xi)$
foreachx in0,1,2,3
node[text depth=0.25ex,above=2mm] at ($(m.north west)!(2*x+1)/8!(m.north east)$)
pgfmathparsemyrowhead[x]pgfmathresult;
node[left=2mm] at ($(m.north west)!(2*x+1)/4!(m.south west)$)
pgfmathparsemycolhead[x]pgfmathresult;
node[above=18pt of m.north] (firm b) Player 1;
node[left=1.6cm of m.west,align=center,anchor=center] Player 2;
endtikzpicture
endcenter
enddocument
add a comment |
This answer comes with a style payoff matrix
which does all the work for you. All you need to do is to say
matrix [payoff matrix]& T & F & G & T\
A & pft212 & pft32 & pft69 & pft59 \
B & pft-10 & pft00 & pft00 & pft23 \
;
where pft
takes two arguments, the entry at the top right and bottom left of the cell. The names of the players are stored in pgf keys so that you can change them easily.
documentclass[tikz,border=3.14mm]standalone
usetikzlibrarymatrix
tikzsetpayoff matrix/.style=matrix of nodes,column sep=-pgflinewidth,row sep=-pgflinewidth,
nodes=/utils/exec=ifnumthepgfmatrixcurrentrow>1
ifnumthepgfmatrixcurrentcolumn>1
tikzset
text height=1.2em,text width=4em,draw
fi
fi,
align=center,anchor=center,
column 1/.style=text width=1em,
row 1/.style=text depth=0.3em,
execute at end matrix=tikzmatrixname.west)pgfkeysvalueof/tikz/payoff
matrix/player 2;,
payoff matrix/.cd,player 1/.initial=Player 1,player 2/.initial=Player 2
begindocument
begintikzpicture
newcommandpft[2]hfill$#1$ \ $#2$hfillmbox
matrix [payoff matrix]& T & F & G & T\
A & pft212 & pft32 & pft69 & pft59 \
B & pft-10 & pft00 & pft00 & pft23 \
;
endtikzpicture
enddocument
add a comment |
Just to show you don't need a TikZ matrix to draw your table, some nested tabular
s are enough.
For convenience, I used a macro for the couple of payoffs, as in marmot's answer.
documentclass[12pt]article
usepackagearray
newcommandpft[2]begintabularc@hspace1.5emc
rule0pt3ex & #1 \[1ex]
#2 & \[1ex]
endtabular
newcolumntypeC[1]>centeringarraybackslashp#1
newcommandmyh[2]multicolumn1C#1#2
begindocument
begincenter
begintabularcC1.5em
& myh1.5em & multicolumn4cPlayer 1 \[1ex]
& myh1.5em & myh4emT & myh4emF & myh4emG & myh4emT \[1ex]
Player 2 & multicolumn5c%
begintabular@C1.5em
cline2-5
A & pft212 & pft32 & pft69 & pft59 \
cline2-5
B & pft-10 & pft00 & pft00 & pft23 \
cline2-5
endtabular
endtabular
endcenter
enddocument
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
);
);
Inquirer is a new contributor. Be nice, and check out our Code of Conduct.
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%2f497992%2ftikz-payoff-matrix%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
I have tried to keep the same code skeleton you provided. The only thing that I might have changed is the two empty entires in defmycolhead"A","B","",""
.
documentclass[12pt]article
usepackagetikz
usetikzlibrarycalc
usetikzlibrarymatrix
usetikzlibrarypositioning
usepackagenatbib
begindocument
begincenterbegintikzpicture
defmyrowhead"T","F","G","T"
defmycolhead"A","B","",""
matrix[matrix of math nodes,
draw, every odd row/.style=align=right,
every evenrow/.style=align=left,
nodes=text width=1.5cm,
row sep=0.2cm,column sep=0.2cm]
(m)
2&3&6&5\
12&2&9&9\
-1&0&0&2\
0&0&0&3\
;
foreachx[count=xi from 2,evaluate=xx=int(2*x);xxi=int(xx+1)] in 1-m.north) -- ($(m-1-x)!0.5!(m-1-xi)$
foreachx in0,1,2,3
node[text depth=0.25ex,above=2mm] at ($(m.north west)!(2*x+1)/8!(m.north east)$)
pgfmathparsemyrowhead[x]pgfmathresult;
node[left=2mm] at ($(m.north west)!(2*x+1)/4!(m.south west)$)
pgfmathparsemycolhead[x]pgfmathresult;
node[above=18pt of m.north] (firm b) Player 1;
node[left=1.6cm of m.west,align=center,anchor=center] Player 2;
endtikzpicture
endcenter
enddocument
add a comment |
I have tried to keep the same code skeleton you provided. The only thing that I might have changed is the two empty entires in defmycolhead"A","B","",""
.
documentclass[12pt]article
usepackagetikz
usetikzlibrarycalc
usetikzlibrarymatrix
usetikzlibrarypositioning
usepackagenatbib
begindocument
begincenterbegintikzpicture
defmyrowhead"T","F","G","T"
defmycolhead"A","B","",""
matrix[matrix of math nodes,
draw, every odd row/.style=align=right,
every evenrow/.style=align=left,
nodes=text width=1.5cm,
row sep=0.2cm,column sep=0.2cm]
(m)
2&3&6&5\
12&2&9&9\
-1&0&0&2\
0&0&0&3\
;
foreachx[count=xi from 2,evaluate=xx=int(2*x);xxi=int(xx+1)] in 1-m.north) -- ($(m-1-x)!0.5!(m-1-xi)$
foreachx in0,1,2,3
node[text depth=0.25ex,above=2mm] at ($(m.north west)!(2*x+1)/8!(m.north east)$)
pgfmathparsemyrowhead[x]pgfmathresult;
node[left=2mm] at ($(m.north west)!(2*x+1)/4!(m.south west)$)
pgfmathparsemycolhead[x]pgfmathresult;
node[above=18pt of m.north] (firm b) Player 1;
node[left=1.6cm of m.west,align=center,anchor=center] Player 2;
endtikzpicture
endcenter
enddocument
add a comment |
I have tried to keep the same code skeleton you provided. The only thing that I might have changed is the two empty entires in defmycolhead"A","B","",""
.
documentclass[12pt]article
usepackagetikz
usetikzlibrarycalc
usetikzlibrarymatrix
usetikzlibrarypositioning
usepackagenatbib
begindocument
begincenterbegintikzpicture
defmyrowhead"T","F","G","T"
defmycolhead"A","B","",""
matrix[matrix of math nodes,
draw, every odd row/.style=align=right,
every evenrow/.style=align=left,
nodes=text width=1.5cm,
row sep=0.2cm,column sep=0.2cm]
(m)
2&3&6&5\
12&2&9&9\
-1&0&0&2\
0&0&0&3\
;
foreachx[count=xi from 2,evaluate=xx=int(2*x);xxi=int(xx+1)] in 1-m.north) -- ($(m-1-x)!0.5!(m-1-xi)$
foreachx in0,1,2,3
node[text depth=0.25ex,above=2mm] at ($(m.north west)!(2*x+1)/8!(m.north east)$)
pgfmathparsemyrowhead[x]pgfmathresult;
node[left=2mm] at ($(m.north west)!(2*x+1)/4!(m.south west)$)
pgfmathparsemycolhead[x]pgfmathresult;
node[above=18pt of m.north] (firm b) Player 1;
node[left=1.6cm of m.west,align=center,anchor=center] Player 2;
endtikzpicture
endcenter
enddocument
I have tried to keep the same code skeleton you provided. The only thing that I might have changed is the two empty entires in defmycolhead"A","B","",""
.
documentclass[12pt]article
usepackagetikz
usetikzlibrarycalc
usetikzlibrarymatrix
usetikzlibrarypositioning
usepackagenatbib
begindocument
begincenterbegintikzpicture
defmyrowhead"T","F","G","T"
defmycolhead"A","B","",""
matrix[matrix of math nodes,
draw, every odd row/.style=align=right,
every evenrow/.style=align=left,
nodes=text width=1.5cm,
row sep=0.2cm,column sep=0.2cm]
(m)
2&3&6&5\
12&2&9&9\
-1&0&0&2\
0&0&0&3\
;
foreachx[count=xi from 2,evaluate=xx=int(2*x);xxi=int(xx+1)] in 1-m.north) -- ($(m-1-x)!0.5!(m-1-xi)$
foreachx in0,1,2,3
node[text depth=0.25ex,above=2mm] at ($(m.north west)!(2*x+1)/8!(m.north east)$)
pgfmathparsemyrowhead[x]pgfmathresult;
node[left=2mm] at ($(m.north west)!(2*x+1)/4!(m.south west)$)
pgfmathparsemycolhead[x]pgfmathresult;
node[above=18pt of m.north] (firm b) Player 1;
node[left=1.6cm of m.west,align=center,anchor=center] Player 2;
endtikzpicture
endcenter
enddocument
answered 8 hours ago
M. Al JumailyM. Al Jumaily
1,6462 gold badges3 silver badges16 bronze badges
1,6462 gold badges3 silver badges16 bronze badges
add a comment |
add a comment |
This answer comes with a style payoff matrix
which does all the work for you. All you need to do is to say
matrix [payoff matrix]& T & F & G & T\
A & pft212 & pft32 & pft69 & pft59 \
B & pft-10 & pft00 & pft00 & pft23 \
;
where pft
takes two arguments, the entry at the top right and bottom left of the cell. The names of the players are stored in pgf keys so that you can change them easily.
documentclass[tikz,border=3.14mm]standalone
usetikzlibrarymatrix
tikzsetpayoff matrix/.style=matrix of nodes,column sep=-pgflinewidth,row sep=-pgflinewidth,
nodes=/utils/exec=ifnumthepgfmatrixcurrentrow>1
ifnumthepgfmatrixcurrentcolumn>1
tikzset
text height=1.2em,text width=4em,draw
fi
fi,
align=center,anchor=center,
column 1/.style=text width=1em,
row 1/.style=text depth=0.3em,
execute at end matrix=tikzmatrixname.west)pgfkeysvalueof/tikz/payoff
matrix/player 2;,
payoff matrix/.cd,player 1/.initial=Player 1,player 2/.initial=Player 2
begindocument
begintikzpicture
newcommandpft[2]hfill$#1$ \ $#2$hfillmbox
matrix [payoff matrix]& T & F & G & T\
A & pft212 & pft32 & pft69 & pft59 \
B & pft-10 & pft00 & pft00 & pft23 \
;
endtikzpicture
enddocument
add a comment |
This answer comes with a style payoff matrix
which does all the work for you. All you need to do is to say
matrix [payoff matrix]& T & F & G & T\
A & pft212 & pft32 & pft69 & pft59 \
B & pft-10 & pft00 & pft00 & pft23 \
;
where pft
takes two arguments, the entry at the top right and bottom left of the cell. The names of the players are stored in pgf keys so that you can change them easily.
documentclass[tikz,border=3.14mm]standalone
usetikzlibrarymatrix
tikzsetpayoff matrix/.style=matrix of nodes,column sep=-pgflinewidth,row sep=-pgflinewidth,
nodes=/utils/exec=ifnumthepgfmatrixcurrentrow>1
ifnumthepgfmatrixcurrentcolumn>1
tikzset
text height=1.2em,text width=4em,draw
fi
fi,
align=center,anchor=center,
column 1/.style=text width=1em,
row 1/.style=text depth=0.3em,
execute at end matrix=tikzmatrixname.west)pgfkeysvalueof/tikz/payoff
matrix/player 2;,
payoff matrix/.cd,player 1/.initial=Player 1,player 2/.initial=Player 2
begindocument
begintikzpicture
newcommandpft[2]hfill$#1$ \ $#2$hfillmbox
matrix [payoff matrix]& T & F & G & T\
A & pft212 & pft32 & pft69 & pft59 \
B & pft-10 & pft00 & pft00 & pft23 \
;
endtikzpicture
enddocument
add a comment |
This answer comes with a style payoff matrix
which does all the work for you. All you need to do is to say
matrix [payoff matrix]& T & F & G & T\
A & pft212 & pft32 & pft69 & pft59 \
B & pft-10 & pft00 & pft00 & pft23 \
;
where pft
takes two arguments, the entry at the top right and bottom left of the cell. The names of the players are stored in pgf keys so that you can change them easily.
documentclass[tikz,border=3.14mm]standalone
usetikzlibrarymatrix
tikzsetpayoff matrix/.style=matrix of nodes,column sep=-pgflinewidth,row sep=-pgflinewidth,
nodes=/utils/exec=ifnumthepgfmatrixcurrentrow>1
ifnumthepgfmatrixcurrentcolumn>1
tikzset
text height=1.2em,text width=4em,draw
fi
fi,
align=center,anchor=center,
column 1/.style=text width=1em,
row 1/.style=text depth=0.3em,
execute at end matrix=tikzmatrixname.west)pgfkeysvalueof/tikz/payoff
matrix/player 2;,
payoff matrix/.cd,player 1/.initial=Player 1,player 2/.initial=Player 2
begindocument
begintikzpicture
newcommandpft[2]hfill$#1$ \ $#2$hfillmbox
matrix [payoff matrix]& T & F & G & T\
A & pft212 & pft32 & pft69 & pft59 \
B & pft-10 & pft00 & pft00 & pft23 \
;
endtikzpicture
enddocument
This answer comes with a style payoff matrix
which does all the work for you. All you need to do is to say
matrix [payoff matrix]& T & F & G & T\
A & pft212 & pft32 & pft69 & pft59 \
B & pft-10 & pft00 & pft00 & pft23 \
;
where pft
takes two arguments, the entry at the top right and bottom left of the cell. The names of the players are stored in pgf keys so that you can change them easily.
documentclass[tikz,border=3.14mm]standalone
usetikzlibrarymatrix
tikzsetpayoff matrix/.style=matrix of nodes,column sep=-pgflinewidth,row sep=-pgflinewidth,
nodes=/utils/exec=ifnumthepgfmatrixcurrentrow>1
ifnumthepgfmatrixcurrentcolumn>1
tikzset
text height=1.2em,text width=4em,draw
fi
fi,
align=center,anchor=center,
column 1/.style=text width=1em,
row 1/.style=text depth=0.3em,
execute at end matrix=tikzmatrixname.west)pgfkeysvalueof/tikz/payoff
matrix/player 2;,
payoff matrix/.cd,player 1/.initial=Player 1,player 2/.initial=Player 2
begindocument
begintikzpicture
newcommandpft[2]hfill$#1$ \ $#2$hfillmbox
matrix [payoff matrix]& T & F & G & T\
A & pft212 & pft32 & pft69 & pft59 \
B & pft-10 & pft00 & pft00 & pft23 \
;
endtikzpicture
enddocument
answered 3 hours ago
marmotmarmot
140k6 gold badges184 silver badges338 bronze badges
140k6 gold badges184 silver badges338 bronze badges
add a comment |
add a comment |
Just to show you don't need a TikZ matrix to draw your table, some nested tabular
s are enough.
For convenience, I used a macro for the couple of payoffs, as in marmot's answer.
documentclass[12pt]article
usepackagearray
newcommandpft[2]begintabularc@hspace1.5emc
rule0pt3ex & #1 \[1ex]
#2 & \[1ex]
endtabular
newcolumntypeC[1]>centeringarraybackslashp#1
newcommandmyh[2]multicolumn1C#1#2
begindocument
begincenter
begintabularcC1.5em
& myh1.5em & multicolumn4cPlayer 1 \[1ex]
& myh1.5em & myh4emT & myh4emF & myh4emG & myh4emT \[1ex]
Player 2 & multicolumn5c%
begintabular@C1.5em
cline2-5
A & pft212 & pft32 & pft69 & pft59 \
cline2-5
B & pft-10 & pft00 & pft00 & pft23 \
cline2-5
endtabular
endtabular
endcenter
enddocument
add a comment |
Just to show you don't need a TikZ matrix to draw your table, some nested tabular
s are enough.
For convenience, I used a macro for the couple of payoffs, as in marmot's answer.
documentclass[12pt]article
usepackagearray
newcommandpft[2]begintabularc@hspace1.5emc
rule0pt3ex & #1 \[1ex]
#2 & \[1ex]
endtabular
newcolumntypeC[1]>centeringarraybackslashp#1
newcommandmyh[2]multicolumn1C#1#2
begindocument
begincenter
begintabularcC1.5em
& myh1.5em & multicolumn4cPlayer 1 \[1ex]
& myh1.5em & myh4emT & myh4emF & myh4emG & myh4emT \[1ex]
Player 2 & multicolumn5c%
begintabular@C1.5em
cline2-5
A & pft212 & pft32 & pft69 & pft59 \
cline2-5
B & pft-10 & pft00 & pft00 & pft23 \
cline2-5
endtabular
endtabular
endcenter
enddocument
add a comment |
Just to show you don't need a TikZ matrix to draw your table, some nested tabular
s are enough.
For convenience, I used a macro for the couple of payoffs, as in marmot's answer.
documentclass[12pt]article
usepackagearray
newcommandpft[2]begintabularc@hspace1.5emc
rule0pt3ex & #1 \[1ex]
#2 & \[1ex]
endtabular
newcolumntypeC[1]>centeringarraybackslashp#1
newcommandmyh[2]multicolumn1C#1#2
begindocument
begincenter
begintabularcC1.5em
& myh1.5em & multicolumn4cPlayer 1 \[1ex]
& myh1.5em & myh4emT & myh4emF & myh4emG & myh4emT \[1ex]
Player 2 & multicolumn5c%
begintabular@C1.5em
cline2-5
A & pft212 & pft32 & pft69 & pft59 \
cline2-5
B & pft-10 & pft00 & pft00 & pft23 \
cline2-5
endtabular
endtabular
endcenter
enddocument
Just to show you don't need a TikZ matrix to draw your table, some nested tabular
s are enough.
For convenience, I used a macro for the couple of payoffs, as in marmot's answer.
documentclass[12pt]article
usepackagearray
newcommandpft[2]begintabularc@hspace1.5emc
rule0pt3ex & #1 \[1ex]
#2 & \[1ex]
endtabular
newcolumntypeC[1]>centeringarraybackslashp#1
newcommandmyh[2]multicolumn1C#1#2
begindocument
begincenter
begintabularcC1.5em
& myh1.5em & multicolumn4cPlayer 1 \[1ex]
& myh1.5em & myh4emT & myh4emF & myh4emG & myh4emT \[1ex]
Player 2 & multicolumn5c%
begintabular@C1.5em
cline2-5
A & pft212 & pft32 & pft69 & pft59 \
cline2-5
B & pft-10 & pft00 & pft00 & pft23 \
cline2-5
endtabular
endtabular
endcenter
enddocument
answered 15 mins ago
CarLaTeXCarLaTeX
36.8k5 gold badges59 silver badges163 bronze badges
36.8k5 gold badges59 silver badges163 bronze badges
add a comment |
add a comment |
Inquirer is a new contributor. Be nice, and check out our Code of Conduct.
Inquirer is a new contributor. Be nice, and check out our Code of Conduct.
Inquirer is a new contributor. Be nice, and check out our Code of Conduct.
Inquirer is a new contributor. Be nice, and check out our Code of Conduct.
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%2f497992%2ftikz-payoff-matrix%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