(Repost von Stackexchange TeX)

Zu diesem tikzpicture

Open in Online-Editor
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{matrix}
\usetikzlibrary{positioning}

\begin{document}

\begin{tikzpicture}

\matrix[matrix of math nodes,every odd row/.style={align=right},every even row/.style={align=left},every node/.style={text width=1.5cm},row sep=0.2cm,column sep=0.2cm] (m) {
    10&5\\
    10&25\\
    5&20\\
    25&20\\
};
\draw (m.north east) rectangle (m.south west);
\draw (m.north) -- (m.south);
\draw (m.east) -- (m.west);

\coordinate (a) at ($(m.north west)!0.25!(m.north east)$);
\coordinate (b) at ($(m.north west)!0.75!(m.north east)$);
\node[above=5pt of a,anchor=base] {Low Price};
\node[above=5pt of b,anchor=base] {High Price};

\coordinate (c) at ($(m.north west)!0.25!(m.south west)$);
\coordinate (d) at ($(m.north west)!0.75!(m.south west)$);
\node[left=2pt of c,text width=1cm]  {Low Price};
\node[left=2pt of d,text width=1cm]  {High Price};

\node[above=18pt of m.north] (firm b) {Firm B};
\node[left=1.6cm of m.west,rotate=90,align=center,anchor=center] {Firm A};

\node[above=5pt of firm b]  {Payoff Matrix};
\end{tikzpicture}

\end{document}

mit diesem Ergebnis

Einfache Payoff-Matrix

möchte ich gerne Pfeile zur Anzeige der Equilibria hinzufügen, sodass in etwa folgende Auszahlungsmatrix herauskommt.

Payoff-Matrix mit Equilibria / dominanten Strategien

Jegliche Hilfe ist überaus willkommen!

gefragt 12 Okt '15, 13:02

G%C3%B6tz%20Freytag's gravatar image

Götz Freytag
3112
Akzeptiert-Rate: 0%

bearbeitet 12 Okt '15, 14:00

Johannes's gravatar image

Johannes
7.3k294566


Erste Lösung von Steven B. Segletes.

Hier eine Lösung mi einer einfachen tabular mit ein wenig hin und her schieben. Es werden \LA, \RA, \DA und \UA für die Links-, Rechts, Abwärts- und Aufwärtspfeile eingeführt. Weiterhin \Under{<number>}{<arrow>} um einen Ab-/Aufwärstpfeil unter einer gegebenen Nummer zu platzieren. Da die Tabelle rechts ausgerichtet ist, werden die Links- und Rechtspfeile nach dem Tabellenmaterial angegeben, um eine korrekte Ausrichtung zu gewährleisten.

Here is a plain tabular solution, with a little lapping and stacking. I introduce LA,RA,DA, andUAfor the left, right, down, and up arrows; andUnder{}{}` for placing an up/down arrow under a given number. Since the tabular is right aligned, left and right arrows are placed after a data entry to achieve proper alignment.

alt text

Open in Online-Editor
\documentclass{article}
\usepackage{graphicx}
\usepackage{stackengine}
\newcommand\Under[2]{\strut\smash{\stackunder{#1}{#2}}}
\setstackgap{L}{1.1\normalbaselineskip}
\setstackgap{S}{2pt}
\def\LA{\rlap{\scalebox{2.8}[1.5]{\kern2pt\raisebox{-.5pt}{$\leftarrow$}}}}
\def\RA{\rlap{\scalebox{2.8}[1.5]{\kern2pt\raisebox{-.5pt}{$\rightarrow$}}}}
\def\UA{\tclap{\scalebox{1.5}[2.8]{$\uparrow$}}}
\def\DA{\bclap{\scalebox{1.5}[2.8]{$\downarrow$}}}
\renewcommand\arraystretch{1.5}
\begin{document}
\begin{tabular}{|rr|rr|}
\hline
&10\LA&&5\\
\Under{10}{\DA}&&\Under{25}{\UA}&\\
\hline
&5\RA&&20\\
25&&20&\\
\hline
\end{tabular}
\end{document}
Permanenter link
Dieser Antwort ist "Community Wiki" markiert.

beantwortet 12 Okt '15, 14:14

Johannes's gravatar image

Johannes
7.3k294566
Akzeptiert-Rate: 43%

bearbeitet 12 Okt '15, 14:21

Erstmal prima, dass die Nodes in einer Matrix sind, denn da kann man sich einfach auf die Zellen beziehen und Pfeile dazwischen zeichnen. Die wechselnde Ausrichtung macht es aber schwerer. Ich hätte doppelt so viele Spalten genommen und die einfach abwechselnd bestückt.

Doch, einmal direkt am Beispiel, hier sind die zusätzlichen \draw-Befehle. Manchmal verwende ich die calc-Syntax, um wegen der Ausrichtung die Pfeile hinzuschieben. Dort siehst Du auch, wo man an Werten drehen kann, etwa um sie noch mittiger zu machen.

Open in Online-Editor
\draw [-latex, blue, very thick]
    (m-1-2.center) edge (m-1-1)
    ($(m-2-1.south)+(-0.5,0)$) edge ($(m-4-1.north)+(-0.5,0)$)
    (m-3-1.east) edge (m-3-2.center)
    ($(m-4-2.north)+(-0.5,0)$) to ($(m-2-2.south)+(-0.5,0)$);

Payoff-Matrix

Komplettcode:

Open in Online-Editor
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{matrix}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\matrix[matrix of math nodes,every odd row/.style={align=right},
  every even row/.style={align=left},
  every node/.style={text width=1.5cm},row sep=0.2cm,
  column sep=0.2cm] (m) {
    10&5\\
    10&25\\
    5&20\\
    25&20\\
};
\draw (m.north east) rectangle (m.south west);
\draw (m.north) -- (m.south);
\draw (m.east) -- (m.west);

\coordinate (a) at ($(m.north west)!0.25!(m.north east)$);
\coordinate (b) at ($(m.north west)!0.75!(m.north east)$);
\node[above=5pt of a,anchor=base] {Low Price};
\node[above=5pt of b,anchor=base] {High Price};

\coordinate (c) at ($(m.north west)!0.25!(m.south west)$);
\coordinate (d) at ($(m.north west)!0.75!(m.south west)$);
\node[left=2pt of c,text width=1cm]  {Low Price};
\node[left=2pt of d,text width=1cm]  {High Price};

\node[above=18pt of m.north] (firm b) {Firm B};
\node[left=1.6cm of m.west,rotate=90,align=center,anchor=center]
  {Firm A};

\node[above=5pt of firm b]  {Payoff Matrix};

\draw [-latex, blue, very thick]
    (m-1-2.center) edge (m-1-1)
    ($(m-2-1.south)+(-0.55,0)$) edge ($(m-4-1.north)+(-0.55,0)$)
    (m-3-1.east) edge (m-3-2.center)
    ($(m-4-2.north)+(-0.55,0)$) to ($(m-2-2.south)+(-0.55,0)$);
\end{tikzpicture}
\end{document}
Permanenter link

beantwortet 12 Okt '15, 14:30

stefan's gravatar image

stefan ♦♦
18.3k163148
Akzeptiert-Rate: 50%

bearbeitet 12 Okt '15, 14:40

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×730
×1

gestellte Frage: 12 Okt '15, 13:02

Frage wurde gesehen: 9,192 Mal

zuletzt geändert: 12 Okt '15, 14:40