Farbige Rechtecke mit Schrift in definierter Größe Tikz

Tabellen und Grafiken erstellen und anordnen


Nikolas_Tamere
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Di 16. Mär 2021, 11:28

Farbige Rechtecke mit Schrift in definierter Größe Tikz

Beitrag von Nikolas_Tamere »

Hallo liebes Forum,

ich möchte eine Risikomatrix erstellen und bin in Tikz leider nicht so fit (und kann das, was nicht genau meinem Problem entspricht auch irgendwie nicht transferieren).

\begin{tikzpicture}[paths/.style={->, thick, >=stealth'}]
\draw (2 ,0) -- (18 ,0);
\draw (18 ,7.5) -- (18 ,0);
\draw (5 ,7.5) -- (5 ,0);
\draw (2 ,6) -- (18 ,6);
\draw (2 ,4.5) -- (5 ,4.5);
\draw (2 ,3) -- (5 ,3);
\draw (2 ,1.5) -- (5 ,1.5);
\node [rotate=90] at (1.5,3) {Wahrscheinlichkeit};
\node at (3.5,0.75) {hoch};
\node at (3.5,2.25) {mittel};
\node at (3.5,3.75) {gering};
\node at (3.5,5.25) {sehr gering};
\draw (8.25 ,7.5) -- (8.25 ,6);
\draw (11.5 ,7.5) -- (11.5 ,6);
\draw (14.75 ,7.5) -- (14.75 ,6);
\node at (11.5,8) {Mögliche Schadensschwere};
\node at (6.625,6.75) {kein Schaden};
\node at (9.875,6.75) {gering};
\node at (13.125,6.75) {mittel};
\node at (16.375,6.75) {hoch};
\draw (3, 0) rectangle (5, 1);
\end{tikzpicture}

Ich möchte das das am Ende ungefähr so aussieht:

Bild

Ich möchte also farbige Rechtecke erzeugen, in welche ich dann noch einen kleinen Text (zwei Wörter oder so) reinschreiben kann, welche dann eben farbig unterlegt sind. Hat jemand eine Idee wie man das machen kann? Ich bin auch offen für Verbesserungsvorschläge - ich denke meine Variante stellt alles andere als das Optimum dar.

Gruß


Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2083
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: Farbige Rechtecke mit Schrift in definierter Größe Tikz

Beitrag von Stefan Kottwitz »

Ich kann mir vorstellen, dass man es gut mit einer TikZ matrix of nodes machen kann mit Stilen für die Nodes (Größe, Farbe, Ausrichtung, Schriftgröße). Ist ein bisschen Gebastel, vielleicht hilft ja jemand dabei. Ich kann da vllt. auch schauen was geht, nur nicht so schnell.

Stefan


Bartman
Forum-Meister
Forum-Meister
Beiträge: 2315
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Re: Farbige Rechtecke mit Schrift in definierter Größe Tikz

Beitrag von Bartman »

In den vergangenen Tagen habe ich mal etwas "gebastelt" und dabei entstand die folgende Zeichnung:

\documentclass[tikz, border=5pt]{standalone}
\usepackage{array}

\usetikzlibrary{matrix,positioning,shapes.arrows}

\colorlet{mygreen}{green!20}
\colorlet{myyellow}{yellow!20}
\colorlet{myred}{red!20}
\colorlet{darkyellow}{black!50!yellow}
\colorlet{captioncolor}{gray!20}

\newcommand*{\addcaption}[1]{%
  \renewcommand{\arraystretch}{0.5}%
  \begin{tabular}{@{}>{\scriptsize}l@{}}
  #1%
  \end{tabular}%
}

\begin{document}
\pgfmathsetlengthmacro{\boxWidth}{width("kein Schaden")+3mm}
\newcommand{\boxHeight}{1cm}
\begin{tikzpicture}[
  font=\sffamily, 
  caption font/.style={font=\sffamily\footnotesize}
]
\matrix[
  matrix of nodes,
  nodes={
    draw, 
    font=\sffamily\Large,
    minimum width=\boxWidth,
    minimum height=\boxHeight,
    anchor=center
  },
  row sep=-\pgflinewidth,
  column sep=-\pgflinewidth,
  row 1/.style={
    nodes={
      caption font, 
      fill=captioncolor
    }
  },
  column 1/.style={
    nodes={
      caption font, 
      fill=captioncolor,
      minimum width=width("sehr gering")
    }
  }
] (m) {
              & kein Schaden & gering & mittel & hoch\\
  sehr gering & |[fill=mygreen]| 1 & 2 & 3 & 4\\
  gering      & 2 & |[fill=myyellow]| 3 \addcaption{Erstes Wort,\\zweites Wort} & 4 & 5\\
  mittel      & 3 & 4 & |[fill=myred]| 5 & 6\\
  hoch        & 4 & 5 & 6 & 7\\
};

\path [
  caption font, 
  above, 
  nodes={draw, fill=black!20!yellow}, 
  minimum height=\boxHeight/2
]
  (m-1-3.north) -- 
    node [
      minimum width=4*\boxWidth, 
      yshift=-\pgflinewidth
    ] (ms) {Mögliche Schadensschwere} 
  (m-1-4.north)
  (m-4-1.west) --
    node [
      minimum width=4*\boxHeight, 
      xshift=\pgflinewidth, 
      rotate=90
    ] (w) {Wahrscheinlichkeit}
  (m-3-1.west)
;

\path 
  (w.north|-m-2-1.north) -- coordinate (rm south) (m-2-1.north east)
  (ms.north west) -- coordinate (rm east) (m-1-2.south west)
;
\node at (rm south|-rm east) {Risikomatrix};

\matrix [
  matrix of nodes,
  caption font,
  below=0mm of m,
  column 1/.style={execute at end node={:}},
  column 2/.style={anchor=base west}
] (legend) {
  1--2 & keine Risikoreduzierung nötig\\
  3--4 & Risikoreduzierung notwendig\\
  5--7 & Risikoreduzierung dringend notwendig\\
};

\node [
  single arrow, 
  draw, 
  fill=yellow, 
  minimum height=\boxHeight
] at (m-5-1.east|-legend) {};
\end{tikzpicture}
\end{document}
Zuletzt geändert von Bartman am Sa 5. Jun 2021, 01:31, insgesamt 1-mal geändert.


Nikolas_Tamere
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Di 16. Mär 2021, 11:28

Re: Farbige Rechtecke mit Schrift in definierter Größe Tikz

Beitrag von Nikolas_Tamere »

Wow! Vielen Dank, dass ist ja echt der Wahnsinn!

Das hätte ich selbst so nicht hinbekommen... hoffentlich bin ich irgendwann auch mal so weit :) Gibt es da (außer üben üben und nochmals üben!) irgendwelche Tipps wie man besser wird? Das zwischen deinem und meinem Beispiel Welten liegen muss glaube ich ja nicht erwähnt werden :lol:

Gruß


Nikolas_Tamere
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Di 16. Mär 2021, 11:28

Re: Farbige Rechtecke mit Schrift in definierter Größe Tikz

Beitrag von Nikolas_Tamere »

Hallo nochmal,

ich habe natürlich vergangenen Nachmittag direkt versucht die Grafik bei mir einzubinden aber irgendwie wollte das nicht so recht klappen und ich weiß nicht genau warum. Meine aktuelle (ohne Einbeziehung der Grafik von @Bartman):

\documentclass{scrbook}

% Optionen für das Inhaltsverzeichnis
\KOMAoption{toc}{bibliography,listof}

% Schriftgröße, Trennungsstrich für Kopfzeile, Format A4, Bindungskorrektur für die Innenseite
\KOMAoptions{fontsize=12pt,headsepline=true,paper=a4,BCOR=17mm,headings=normal,captions=tableheading}

% Fettgeschriebene Bezeichnungen für Bilder und Tabellen
\setkomafont{captionlabel}{\bfseries}

% Serifenschrift für Überschriften
\setkomafont{disposition}{\normalcolor\bfseries}

% Umgang mit Umlauten
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\DeclareUnicodeCharacter{2212}{-}

% Geforderte Schriftart
\usepackage{lmodern}

% Für die chemischen Formel
\usepackage{chemformula} 

% PGF-Dateien einbinden
\usepackage{pgf}

% Deutsche Trennung
\usepackage[ngerman]{babel}

% Zitate trennen, damit nicht über den Rand geschrieben wird
\usepackage{breakcites}

% Zeichnen mit tikz
\usepackage{tikz}
\usetikzlibrary{decorations.text}
\usetikzlibrary{arrows}

% Notizen
\usepackage{todonotes}

% Mathepakete
\usepackage{amsmath,amssymb,amstext}

% Paket für Bilder
\usepackage{graphicx}

% Eineinhalb Zeilen Abstand
\usepackage[onehalfspacing]{setspace}

% Si-Einheiten
\usepackage{siunitx}
\sisetup{output-decimal-marker = {,}}

% Wissenschaftliche Tabellen
\usepackage{booktabs}

\usepackage{pdfpages}

% Links im Dokument
\usepackage{xcolor}
\usepackage{hyperref}
\hypersetup{colorlinks=false, allbordercolors=white}

Wenn ich jetzt die Grafik in meine Datei einbinden will mit \input[bilder/Risikoanalyse.tex] (also als Tex-Datei) dann bekomme ich das nicht hin und ich weiß ehrlich gesagt nicht warum. Ich übernehme aus der Präambel von @Bartman folgendes:

\usepackage{array}

\usetikzlibrary{matrix,positioning,shapes.arrows}

\colorlet{mygreen}{green!20}
\colorlet{myyellow}{yellow!20}
\colorlet{myred}{red!20}
\colorlet{darkyellow}{black!50!yellow}
\colorlet{captioncolor}{gray!20}

usetikzlibrary ersetze ich quasi und die anderen Dinge schreibe ich mit in meine Präambel oder nicht? Meine Datei Risikoanalyse.tex sähe dann wie folgt aus:

\newcommand*{\addcaption}[1]{%
  \renewcommand{\arraystretch}{0.5}%
  \begin{tabular}{@{}>{\scriptsize}l@{}}
  #1%
  \end{tabular}%
}

\pgfmathsetlengthmacro{\boxWidth}{width("kein Schaden")+3mm}
\newcommand{\boxHeight}{1cm}
\begin{tikzpicture}[
  font=\sffamily, 
  caption font/.style={font=\sffamily\footnotesize}
]
\matrix[
  matrix of nodes,
  nodes={
    draw, 
    font=\sffamily\Large,
    minimum width=\boxWidth,
    minimum height=\boxHeight,
    anchor=center
  },
  row sep=-\pgflinewidth,
  column sep=-\pgflinewidth,
  row 1/.style={
    nodes={
      caption font, 
      fill=captioncolor
    }
  },
  column 1/.style={
    nodes={
      caption font, 
      fill=captioncolor,
      minimum width=width("sehr gering")
    }
  }
] (m) {
              & kein Schaden & gering & mittel & hoch\\
  sehr gering & |[fill=mygreen]| 1 & 2 & 3 & 4\\
  gering      & 2 & |[fill=myyellow]| 3 \addcaption{Erstes Wort,\\zweites Wort} & 4 & 5\\
  mittel      & 3 & 4 & |[fill=myred]| 5 & 6\\
  hoch        & 4 & 5 & 6 & 7\\
};

\path [
  caption font, 
  above, 
  nodes={draw, fill=black!20!yellow}, 
  minimum height=\boxHeight/2
]
  (m-1-3.north) -- 
    node [
      minimum width=4*\boxWidth, 
      yshift=-\pgflinewidth
    ] (ms) {Mögliche Schadensschwere} 
  (m-1-4.north)
  (m-4-1.west) --
    node [
      minimum width=4*\boxHeight, 
      xshift=\pgflinewidth, 
      rotate=90
    ] (w) {Wahrscheinlichkeit}
  (m-3-1.west)
;

\path 
  (w.north|-m-2-1.north) -- coordinate (rm south) (m-2-1.north east)
  (ms.north west) -- coordinate (rm east) (m-1-2.south west)
;
\node at (rm south|-rm east) {Risikomatrix};

\matrix [
  matrix of nodes,
  caption font,
  below=0mm of m,
  column 1/.style={execute at end node={:}},
  column 2/.style={anchor=base west}
] (legend) {
  1--2 & keine Risikoreduzierung nötig\\
  3--4 & Risikoreduzierung notwendig\\
  5--7 & Risikoreduzierung dringend notwendig\\
};

\node [
  single arrow, 
  draw, 
  fill=yellow, 
  minimum height=\boxHeight
] at (m-5-1.east|-legend) {};
\end{tikzpicture}

Oder ist das so quatsch? Also ja, ist es offensichtlich - ich checke nur so gar nicht wie man es macht ehrlich gesagt.

Danke für eure Hilfe!


gast.

Re: Farbige Rechtecke mit Schrift in definierter Größe Tikz

Beitrag von gast. »

Bitte poste keine Codeschnipsel mit Bastelanleitung, sondern zeige, was du wirklich ausprobiert hast. Nur dann kann man das Problem analysieren, ohne auf Spekulationen angewiesen zu sein. Und auch nur dann funktioniert hier der Online-Compiler zuverlässig.


Nikolas_Tamere
Forum-Anfänger
Forum-Anfänger
Beiträge: 13
Registriert: Di 16. Mär 2021, 11:28

Re: Farbige Rechtecke mit Schrift in definierter Größe Tikz

Beitrag von Nikolas_Tamere »

Hallo und Danke für die Antwort!

Ich schreibe das mit Overleaf und weiß jetzt nicht wie ich das mit dem eingefügten Bild hier dann realisieren soll ehrlich gesagt.

Ich könnte ein PDF davon erstellen und das Diagramm dann so einfügen. Wenn ich was ändern müsste, hätte das halt zur Folge das man jedes Mal wieder eine Neue Datei machen müsste und es nicht direkt im Dokument ändern könnte.

Also wenn ich versuche das Diagramm mit meiner Präambel laufen zu lassen kommt es so:

\documentclass{scrbook}
\usepackage{array}
% Optionen für das Inhaltsverzeichnis
\KOMAoption{toc}{bibliography,listof}

% Schriftgröße, Trennungsstrich für Kopfzeile, Format A4, Bindungskorrektur für die Innenseite
\KOMAoptions{fontsize=12pt,headsepline=true,paper=a4,BCOR=17mm,headings=normal,captions=tableheading}

% Fettgeschriebene Bezeichnungen für Bilder und Tabellen
\setkomafont{captionlabel}{\bfseries}

% Serifenschrift für Überschriften
\setkomafont{disposition}{\normalcolor\bfseries}

% Umgang mit Umlauten
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\DeclareUnicodeCharacter{2212}{-}


% Geforderte Schriftart
\usepackage{lmodern}

% Für die chemischen Formel
\usepackage{chemformula} 

% PGF-Dateien einbinden
\usepackage{pgf}

% Deutsche Trennung
\usepackage[ngerman]{babel}

% Zitate trennen, damit nicht über den Rand geschrieben wird
\usepackage{breakcites}

% Zeichnen mit tikz
\usepackage{tikz}
\usetikzlibrary{decorations.text}
\usetikzlibrary{arrows}

% Notizen
\usepackage{todonotes}

% Mathepakete
\usepackage{amsmath,amssymb,amstext}

% Paket für Bilder
\usepackage{graphicx}

% Eineinhalb Zeilen Abstand
\usepackage[onehalfspacing]{setspace}

% Si-Einheiten
\usepackage{siunitx}
\sisetup{output-decimal-marker = {,}}

% Wissenschaftliche Tabellen
\usepackage{booktabs}

\usepackage{pdfpages}

% Links im Dokument
\usepackage{xcolor}
\usepackage{hyperref}
\hypersetup{colorlinks=false, allbordercolors=white}

\usetikzlibrary{matrix,positioning,shapes.arrows}

\colorlet{mygreen}{green!20}
\colorlet{myyellow}{yellow!20}
\colorlet{myred}{red!20}
\colorlet{darkyellow}{black!50!yellow}
\colorlet{captioncolor}{gray!20}

\newcommand*{\addcaption}[1]{%
  \renewcommand{\arraystretch}{0.5}%
  \begin{tabular}{@{}>{\scriptsize}l@{}}
  #1%
  \end{tabular}%
}

\begin{document}
\pgfmathsetlengthmacro{\boxWidth}{width("kein Schaden")+3mm}
\newcommand{\boxHeight}{1cm}
\begin{tikzpicture}[
  font=\sffamily, 
  caption font/.style={font=\sffamily\footnotesize}
]
\matrix[
  matrix of nodes,
  nodes={
    draw, 
    font=\sffamily\Large,
    minimum width=\boxWidth,
    minimum height=\boxHeight,
    anchor=center
  },
  row sep=-\pgflinewidth,
  column sep=-\pgflinewidth,
  row 1/.style={
    nodes={
      caption font, 
      fill=captioncolor
    }
  },
  column 1/.style={
    nodes={
      caption font, 
      fill=captioncolor,
      minimum width=width("sehr gering")
    }
  }
] (m) {
              & kein Schaden & gering & mittel & hoch\\
  sehr gering & |[fill=mygreen]| \addcaption{Katastrophe in \\ der Jause} & 2 & 3 & 4\\
  gering      & 2 & |[fill=myyellow]| 3 \addcaption{Erstes Wort,\\zweites Wort} & 4 & 5\\
  mittel      & 3 & 4 & |[fill=myred]| 5 & 6\\
  hoch        & 4 & 5 & 6 & 7\\
};

\path [
  caption font, 
  above, 
  nodes={draw, fill=black!20!yellow}, 
  minimum height=\boxHeight/2
]
  (m-1-3.north) -- 
    node [
      minimum width=4*\boxWidth, 
      yshift=-\pgflinewidth
    ] (ms) {Mögliche Schadensschwere} 
  (m-1-4.north)
  (m-4-1.west) --
    node [
      minimum width=4*\boxHeight, 
      xshift=\pgflinewidth, 
      rotate=90
    ] (w) {Wahrscheinlichkeit}
  (m-3-1.west)
;

\path 
  (w.north|-m-2-1.north) -- coordinate (rm south) (m-2-1.north east)
  (ms.north west) -- coordinate (rm east) (m-1-2.south west)
;
\node at (rm south|-rm east) {Risikomatrix};

\matrix [
  matrix of nodes,
  caption font,
  below=0mm of m,
  column 1/.style={execute at end node={:}},
  column 2/.style={anchor=base west}
] (legend) {
  1--2 & keine Risikoreduzierung nötig\\
  3--4 & Risikoreduzierung notwendig\\
  5--7 & Risikoreduzierung dringend notwendig\\
};

\node [
  single arrow, 
  draw, 
  fill=yellow, 
  minimum height=\boxHeight
] at (m-5-1.east|-legend) {};
\end{tikzpicture}
\end{document}

Und das funktioniert auf jeden Fall nicht. Ich will gleich darauf hinweisen, dass hier i nder Präambel zweimal Einträge für Tikz sind, einmal so wie ich es vorher hatte und einmal so wie von @Bartman. Daran liegt es aber wohl nicht (hab ein bisschen rumprobiert) oder zumindest nicht daran alleine, ich hab jetzt einfach mal alles drin gelassen.

Gruß


gast.

Re: Farbige Rechtecke mit Schrift in definierter Größe Tikz

Beitrag von gast. »

Hier gibt es offensichtlich ein Problem mit der Interpretation der Quote-Character " in:

\pgfmathsetlengthmacro{\boxWidth}{width("kein Schaden")+3mm}

Wie man das schön löst, kann ich nicht sagen. Man kann aber erzwingen, dass " nicht expandiert, sondern wirklich als " interpretiert wird:

\pgfmathsetlengthmacro{\boxWidth}{width(\string"kein Schaden\string")+3mm}

Diesen Trick braucht man bei pgf hin und wieder, insbesondere, wenn man ihn nicht direkt in einer tikzpicture verwendet (oder diese im Argument einer anderen Anweisung hat). Gerade zusammen mit den babel-shorthands (die man natürlich auch explizit abschalten kann), gibt es sonst so einige Probleme.

BTW: Wenn man Code zusammenführt, ist es natürlich sinnvoll, diesen auch zu bereinigen. Also in der Präambel beispielsweise nicht das Laden von pgf- oder TikZ-Libs beliebig verstreuen, sondern zusammen zu kopieren. An der Stelle sei auch erwähnt, dass es keinen Sinn ergibt, bei Verwendung von tikz zusätzlich zuvor noch pgf zu laden. Sich an strukturiertes Arbeiten zu gewöhnen, ist oftmals bei LaTeX mehr als die halbe Miete. Das hilft ohnehin generell bei jeglicher wissenschaftlichen Arbeit.

Wie man ein Minimalbeispiel aus vorhandenem Code generell baut, ist ja unter dem oben bereits enthaltenen Link hinreichend erklärt. Verlinkte Seiten, sind generell Teil der Antwort – nicht selten ein sehr wichtiger Teil.


gast.

Re: Farbige Rechtecke mit Schrift in definierter Größe Tikz

Beitrag von gast. »

Achso: Die Verwendung von TikZ-Lib babel und das Verschieben der kritischen Anweisung in die tikzpicture funktioniert natürlich ebenfalls:

\documentclass{scrbook}
\usepackage{array}
% Optionen für das Inhaltsverzeichnis
\KOMAoption{toc}{bibliography,listof}

% Schriftgröße, Trennungsstrich für Kopfzeile, Format A4, Bindungskorrektur für die Innenseite
\KOMAoptions{fontsize=12pt,headsepline=true,paper=a4,BCOR=17mm,headings=normal,captions=tableheading}

% Fettgeschriebene Bezeichnungen für Bilder und Tabellen
\setkomafont{captionlabel}{\bfseries}

% Serifenschrift für Überschriften
\setkomafont{disposition}{\normalcolor\bfseries}

% Umgang mit Umlauten
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\DeclareUnicodeCharacter{2212}{-}


% Geforderte Schriftart
\usepackage{lmodern}

% Für die chemischen Formel
\usepackage{chemformula} 

% PGF-Dateien einbinden
\usepackage{pgf}

% Deutsche Trennung
\usepackage[ngerman]{babel}

% Zitate trennen, damit nicht über den Rand geschrieben wird
\usepackage{breakcites}

% Zeichnen mit tikz
\usepackage{tikz}
\usetikzlibrary{decorations.text}
\usetikzlibrary{arrows}
\usetikzlibrary{babel}

% Notizen
\usepackage{todonotes}

% Mathepakete
\usepackage{amsmath,amssymb,amstext}

% Paket für Bilder
\usepackage{graphicx}

% Eineinhalb Zeilen Abstand
\usepackage[onehalfspacing]{setspace}

% Si-Einheiten
\usepackage{siunitx}
\sisetup{output-decimal-marker = {,}}

% Wissenschaftliche Tabellen
\usepackage{booktabs}

\usepackage{pdfpages}

% Links im Dokument
\usepackage{xcolor}
\usepackage{hyperref}
\hypersetup{colorlinks=false, allbordercolors=white}

\usetikzlibrary{matrix,positioning,shapes.arrows}

\colorlet{mygreen}{green!20}
\colorlet{myyellow}{yellow!20}
\colorlet{myred}{red!20}
\colorlet{darkyellow}{black!50!yellow}
\colorlet{captioncolor}{gray!20}

\newcommand*{\addcaption}[1]{%
  \renewcommand{\arraystretch}{0.5}%
  \begin{tabular}{@{}>{\scriptsize}l@{}}
  #1%
  \end{tabular}%
}

\begin{document}

\begin{tikzpicture}[
  font=\sffamily, 
  caption font/.style={font=\sffamily\footnotesize}
]
\pgfmathsetlengthmacro{\boxWidth}{width("kein Schaden")+3mm}%
\newcommand{\boxHeight}{1cm}%
\matrix[
  matrix of nodes,
  nodes={
    draw, 
    font=\sffamily\Large,
    minimum width=\boxWidth,
    minimum height=\boxHeight,
    anchor=center
  },
  row sep=-\pgflinewidth,
  column sep=-\pgflinewidth,
  row 1/.style={
    nodes={
      caption font, 
      fill=captioncolor
    }
  },
  column 1/.style={
    nodes={
      caption font, 
      fill=captioncolor,
      minimum width=width("sehr gering")
    }
  }
] (m) {
              & kein Schaden & gering & mittel & hoch\\
  sehr gering & |[fill=mygreen]| \addcaption{Katastrophe in \\ der Jause} & 2 & 3 & 4\\
  gering      & 2 & |[fill=myyellow]| 3 \addcaption{Erstes Wort,\\zweites Wort} & 4 & 5\\
  mittel      & 3 & 4 & |[fill=myred]| 5 & 6\\
  hoch        & 4 & 5 & 6 & 7\\
};

\path [
  caption font, 
  above, 
  nodes={draw, fill=black!20!yellow}, 
  minimum height=\boxHeight/2
]
  (m-1-3.north) -- 
    node [
      minimum width=4*\boxWidth, 
      yshift=-\pgflinewidth
    ] (ms) {Mögliche Schadensschwere} 
  (m-1-4.north)
  (m-4-1.west) --
    node [
      minimum width=4*\boxHeight, 
      xshift=\pgflinewidth, 
      rotate=90
    ] (w) {Wahrscheinlichkeit}
  (m-3-1.west)
;

\path 
  (w.north|-m-2-1.north) -- coordinate (rm south) (m-2-1.north east)
  (ms.north west) -- coordinate (rm east) (m-1-2.south west)
;
\node at (rm south|-rm east) {Risikomatrix};

\matrix [
  matrix of nodes,
  caption font,
  below=0mm of m,
  column 1/.style={execute at end node={:}},
  column 2/.style={anchor=base west}
] (legend) {
  1--2 & keine Risikoreduzierung nötig\\
  3--4 & Risikoreduzierung notwendig\\
  5--7 & Risikoreduzierung dringend notwendig\\
};

\node [
  single arrow, 
  draw, 
  fill=yellow, 
  minimum height=\boxHeight
] at (m-5-1.east|-legend) {};
\end{tikzpicture}
\end{document}

So gesehen, ist das vielleicht die schöne Lösung. ;-)

Achja: xcolor wird von tikz ebenfalls bereits geladen.


Antworten