Bedingte Formatierung Tabelle Latex

Tabellen und Grafiken erstellen und anordnen


StefanStat
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Fr 17. Jun 2016, 15:56

Bedingte Formatierung Tabelle Latex

Beitrag von StefanStat »

Ich versuche gerade eine bedingte Formatierung aus einer Exceltabelle in LateX nachzubauen. Leider habe ich noch keine passende Lösung gefunden.

Mir ist es vor allem wichitg, dass in der Tabelle Balken enthalten sind. Nur eine farbliche Differenzierung reicht nicht.

wäre super wenn mir jemand weiterhelfen könnte
Dateianhänge
test.PNG
test.PNG (47.18 KiB) 1308 mal betrachtet

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

Beitrag von Bartman »

Vielleicht hilft Dir der folgende Thread weiter: Is there a charts package for LaTeX?

StefanStat
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Fr 17. Jun 2016, 15:56

Beitrag von StefanStat »

Danke für deine Antwort. Ich habe es zum Teil schon hinbekommen. Ich würde jedoch gerne das negative Balken nach links zeigen. Also im Prinziep exakt so wie in meiner Grafik aus dem ersten Post.
\documentclass{article}
\usepackage[table]{xcolor}
\usepackage[nomessages]{fp}
\newcommand{\maxnum}{0.6}
\newlength{\maxlen}

\newcommand{\databar}[2][green!25]{%
  \settowidth{\maxlen}{\maxnum}%
  \addtolength{\maxlen}{\tabcolsep}%
  \FPeval\result{round(#2/\maxnum:4)}%
  \rlap{\color{green!25}\hspace*{-.5\tabcolsep}\rule[-.05\ht\strutbox]{\result\maxlen}{.95\ht\strutbox}}%
  \makebox[\dimexpr\maxlen-\tabcolsep][r]{#2}%
}

\newcommand{\maxnumneg}{-0.6}

\newcommand{\databarneg}[2][red!25]{%
  \settowidth{\maxlen}{\maxnumneg}%
  \addtolength{\maxlen}{\tabcolsep}%
  \FPeval\result{round(#2/\maxnumneg:4)}%
  \rlap{\color{red!25}\hspace*{-.5\tabcolsep}\rule[-.05\ht\strutbox]{\result\maxlen}{.95\ht\strutbox}}%
  \makebox[\dimexpr\maxlen-\tabcolsep][r]{#2}%
}

\begin{document}

\begin{table}[!htb]
\centering
\small

\begin{tabular}{|c|c|c|c|c|c|}
\hline 
\multicolumn{6}{|c|}{}\tabularnewline
\hline 
x \textbackslash{} y & 40 & 50 & 60 & 70 & 80\tabularnewline
\hline 
6.51 & \databar{0.53} & \databar{0.48} & \databar{0.43} & \databar{0.39} & \databar{0.34}\tabularnewline
\hline 
7.00 & \databar{0.35} & \databar{0.31} & \databar{0.26} & \databar{0.21} & \databar{0.17}\tabularnewline
\hline 
7.50 & \databar{0.20} & \databar{0.15} & \databar{0.11} & \databar{0.06} & \databar{0.01}\tabularnewline
\hline 
8.00 & \databar{0.08} & \databar{0.04} & \databarneg{-0.01} & \databarneg{-0.06} & \databarneg{-0.11}\tabularnewline
\hline 
8.50 & \databar{0.00} & \databarneg{-0.05} & \databarneg{-0.09} & \databarneg{-0.14} & \databarneg{-0.19}\tabularnewline
\hline 
9.00 & \databarneg{-0.03} & \databarneg{-0.07} & \databarneg{-0.12} & \databarneg{-0.17} & \databarneg{-0.22}\tabularnewline
\hline 
9.50 & \databar{0.02} & \databarneg{-0.03} & \databarneg{-0.08} & \databarneg{-0.12} & \databarneg{-0.17}\tabularnewline
\hline 
10.00 & \databar{0.12} & \databar{0.07} & \databar{0.02} & \databarneg{-0.02} & \databarneg{-0.07}\tabularnewline
\hline 
10.50 & \databar{0.26} & \databar{0.21} & \databar{0.16} & \databar{0.12} & \databar{0.07}\tabularnewline
\hline 
11.00 & \databar{0.41} & \databar{0.36} & \databar{0.31} & \databar{0.27} & \databar{0.22}\tabularnewline
\hline 
11.50 & \databar{0.56} & \databar{0.51} & \databar{0.46} & \databar{0.41} & \databar{0.37}\tabularnewline
\hline 
12.00 & \databar{0.69} & \databar{0.64} & \databar{0.60} & \databar{0.55} & \databar{0.50}\tabularnewline
\hline 
\end{tabular}
\label{gam_diabetologe}
\end{table}
\end{document}
Zuletzt geändert von StefanStat am Di 21. Jun 2016, 20:52, insgesamt 2-mal geändert.

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

Beitrag von Bartman »

Dein Beispiel ist fast lauffähig. Füge bitte am Ende noch folgende Zeile ein:
\end{document}
Mit dem Paket fp kenne ich mich leider nicht aus.

Antworten