Abstand von zwei vertikalen Multirows verringern

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Abstand von zwei vertikalen Multirows verringern

von pointloma » Di 4. Apr 2017, 14:21

Vielen Dank noch einmal für die Hilfe, die Tabelle ist schon fast "perfekt". Natürlich kenne ich auch die Paketanleitung, allerdings muss ich zugeben, dass sie mir in diesem Fall nicht wirklich weiterhilft, weil ich schlicht auch gar nicht genau weiß, wo ich gucken muss. Ich habe mich mit dem Paket siunitx bisher noch nie auseinander gesetzt und brauch noch eine Weile, bis ich den Code ganz verstehe.

Was mir jetzt noch fehlt, ist dass die Ausrichtung der letzten Zeile "User's Accuracy" unabhängig der anderen Zeilen ist, so dass diese rechtsbündig mit den darüber liegenden Zahlen abschließt. Mal schauen, vielleicht kriege ich das ja sogar selber hin.

von Bartman » Mo 6. Mär 2017, 14:14

pointloma hat geschrieben:Die Zahlen von Users & Producers Accuracy sind eigentlich Prozentzahlen, das hatte ich oben noch vergessen. Dementsprechend sollten diese auch zwei Nachkommazahlen haben.

Was mir hierbei noch fehlt sind Prozentzeichen hinter den Kommazahlen (eigentlich ja Punktzahlen) und ein rechtsbündiger Abschluss dieser.
Sind diese Prozentzeichen in jeder der beschriebenen Zellen eine Vorgabe, oder darf dieses Zeichen auch für eine ganze Zeile bzw. Spalte stehen?
\documentclass[fontsize=12pt]{scrreprt} 

\usepackage[utf8]{inputenc} %Eingabekodierung 
\usepackage[ngerman]{babel} %deutscher Sprachraum 
\usepackage[T1]{fontenc} %Ausgabefonts 
\usepackage{times} 
%\usepackage{newtxtext,newtxmath} 
\usepackage[left=25mm,right=30mm,top=25mm,bottom=25mm]{geometry} 
\usepackage{multirow} 
\usepackage{booktabs} 
\usepackage{rotating}
\usepackage{siunitx} 
\usepackage{etoolbox}
\usepackage{showframe} 

\sisetup{ 
	locale=DE, 
	detect-weight 
} 

\begin{document} 
\begin{table}[htbp]
\robustify\bfseries
\small
\centering
\begin{tabular}{
	p{.8cm}
	l
	S[table-format=5.2]
	S[table-format=4.2]
	S[table-format=3.2]
	S[table-format=5.2]
	S[table-format=2.2]
}
\toprule
&& \multicolumn{4}{c}{Klassifikationsdaten} & \multicolumn{1}{>{\centering}p{1.7cm}}{Producers Accuracy}\\
\cmidrule(lr){3-6}
&& {Landwirtschaft} & {Wüste} & {Wasser} & {Siedlung} & \\
&& &&&& \si{\percent}\\ % <- eingefügt
\midrule
\multirow{4}{*}{\rotatebox{90}{\parbox{1.8cm}{\centering\hspace{0pt} Referenzdaten}}} & Landwirtschaft & 20925 & 450 & 675 & 1575 & 88.57\\
& Wüste & 450 & 3825 & 0 & 225 & 85.00\\
& Wasser & 0 & 0 & 450 & 0 & 0.00\\
& Siedlung & 1125 & 0 & 450 & 20250 & 92.78\\
\midrule
& Users Accuracy (\si{\percent}) & 93.00 & 89.47 & 0.00 & 91.84 & \bfseries {90.99}\\ % <- geändert
\bottomrule
\end{tabular}
\caption{Fehlermatrix Verschnitt pixel- und objektbasierte Klassifikation}
\end{table}
\end{document}
Mir ist nicht so recht klar, wie dieser rechtsbündige Abschluss aussehen soll. Könntest Du vielleicht anhand eines Bildes ein Beispiel zeigen, um etwaige Missverständnisse auszuschließen.

Nur die Zahl 90.99 soll einen Punkt statt eines Kommas als Dezimaltrennzeichen haben?

Nachtrag:

Prozentzeichen in jeder Zelle in der betreffenden Zeile und Spalte:
\documentclass[fontsize=12pt]{scrreprt} 

\usepackage[utf8]{inputenc} %Eingabekodierung 
\usepackage[ngerman]{babel} %deutscher Sprachraum 
\usepackage[T1]{fontenc} %Ausgabefonts 
\usepackage{times} 
%\usepackage{newtxtext,newtxmath} 
\usepackage[left=25mm,right=30mm,top=25mm,bottom=25mm]{geometry} 
\usepackage{multirow} 
\usepackage{booktabs} 
\usepackage{rotating}
\usepackage{siunitx} 
\usepackage{etoolbox}
\usepackage{showframe} 

\sisetup{ 
	locale=DE, 
	detect-weight 
} 

\begin{document} 
\begin{table}[htbp]
\robustify\bfseries
\small
\centering
\sisetup{
	table-number-alignment = center,
	table-figures-decimal = 2,
	table-space-text-post =\,\si{\percent}
}
\begin{tabular}{
	p{.8cm}
	l
	S[table-figures-integer = 5]
	S[table-figures-integer = 4]
	S[table-figures-integer = 3]
	S[table-figures-integer = 5]
	S[table-figures-integer = 2]
}
\toprule
&& \multicolumn{4}{c}{Klassifikationsdaten} & \multicolumn{1}{>{\centering}p{1.7cm}}{Producers Accuracy}\\
\cmidrule(lr){3-6}
&& {Landwirtschaft} & {Wüste} & {Wasser} & {Siedlung} & \\
\midrule
\multirow{4}{*}{\rotatebox{90}{\parbox{1.8cm}{\centering\hspace{0pt} Referenzdaten}}} & Landwirtschaft & 20925 & 450 & 675 & 1575 & 88.57\,\si{\percent}\\
& Wüste & 450 & 3825 & 0 & 225 & 85.00\,\si{\percent}\\
& Wasser & 0 & 0 & 450 & 0 & 0.00\,\si{\percent}\\
& Siedlung & 1125 & 0 & 450 & 20250 & 92.78\,\si{\percent}\\
\midrule
& Users Accuracy & 93.00\,\si{\percent} & 89.47\,\si{\percent} & 0.00\,\si{\percent} & 91.84\,\si{\percent} & \bfseries {90.99}\,\si{\percent}\\
\bottomrule
\end{tabular}
\caption{Fehlermatrix Verschnitt pixel- und objektbasierte Klassifikation}
\end{table}
\end{document}

von Gast » Mo 6. Mär 2017, 07:45

Statt Google solltest du besser die die Paketanleitung des Pakets [d]siunitx[/d] befragen. Außerdem gibt es hier im Forum und den Partnerseiten diverse Beispiele für die Verwendung des Pakets.

Der Status Rückfrage ist für potentielle Helfer reserviert. Bitte achte auf korrektes Setzen des Status. Damit potentielle Helfer nicht weiter darauf warten, dass du die Rückfrage beantwortest und den Status anpasst, bevor sie hier reinschauen, setze ich den mal wieder passend auf "offen".

von pointloma » So 5. Mär 2017, 21:00

Ich danke dir schon einmal. Deine Tabelle sieht natürlich viel besser aus, bringt (für mich) aber noch neue Probleme mit sich.

Die Zahlen von Users & Producers Accuracy sind eigentlich Prozentzahlen, das hatte ich oben noch vergessen. Dementsprechend sollten diese auch zwei Nachkommazahlen haben. Die Anpassung der siunitx-columns ist mir auch nach Googeln noch nicht geläufig und scheint mir auch nicht ganz trivial zu sein.
\documentclass[fontsize=12pt]{scrreprt} 

\usepackage[utf8]{inputenc} %Eingabekodierung 
\usepackage[ngerman]{babel} %deutscher Sprachraum 
\usepackage[T1]{fontenc} %Ausgabefonts 
\usepackage{times} 
%\usepackage{newtxtext,newtxmath} 
\usepackage[left=25mm,right=30mm,top=25mm,bottom=25mm]{geometry} 
\usepackage{multirow} 
\usepackage{booktabs} 
\usepackage{rotating} 
\usepackage{tabularx} 
\usepackage{siunitx} 
\usepackage{etoolbox}% für \robustify 
\usepackage{showframe} 

\sisetup{ 
locale=DE, 
detect-weight 
} 

\begin{document} 
\begin{table}[htbp]
\robustify\bfseries% Abschnitt 7.15 in siunitx.pdf
\centering
\begin{tabular}{
   p{.8cm}
   l
   S[table-format=5]
   S[table-format=4]
   S[table-format=3]
   S[table-format=5]
   S[table-format=3.2]
}
\toprule
&& \multicolumn{4}{c}{Klassifikationsdaten} & \multicolumn{1}{>{\centering}p{1.7cm}}{Producers Accuracy}\\
\cmidrule(lr){3-6}
&& {Landwirtschaft} & {Wüste} & {Wasser} & {Siedlung} & \\
\midrule
\multirow{4}{*}{\rotatebox{90}{\parbox{1.8cm}{\centering\hspace{0pt} Referenzdaten}}} & Landwirtschaft & 20925 & 450 & 675 & 1575 & 88.57\\
& Wüste & 450 & 3825 & 0 & 225 & 85.00\\
& Wasser & 0 & 0 & 450 & 0 & 0.00\\
& Siedlung & 1125 & 0 & 450 & 20250 & 92.78\\
\midrule
& Users Accuracy & 93.00 & 89.47 & 0.00 & 91.84 & \bfseries{90.99}\\
\bottomrule
\end{tabular}
\caption{Fehlermatrix Verschnitt pixel- und objektbasierte Klassifikation}
\end{table}
\end{document}
Was mir hierbei noch fehlt sind Prozentzeichen hinter den Kommazahlen (eigentlich ja Punktzahlen) und ein rechtsbündiger Abschluss dieser. Vielleicht findest du ja noch einmal Zeit.

Danke dir schon mal soweit!

von Bartman » Fr 3. Mär 2017, 17:22

Da ich gerade etwas Zeit erübrigen konnte, habe ich an Deinem Beispiel herumgebastelt.

In [d]l2tabu[/d] wird statt times unter anderem mathptmx als Ersatz empfohlen. Leider scheint dieses Paket den Fettdruck in der S-Spalte nicht zu unterstützen. Eine Alternative habe ich als Kommentar nach times eingefügt.

Die table-Umgebung ist eine Möglichkeit auf Dein \vspace zu verzichten. Es muss aber keine Gleitumgebung sein, wenn Du an dieser Stelle keine brauchst.
\documentclass[fontsize=12pt]{scrreprt}

\usepackage[utf8]{inputenc} %Eingabekodierung
\usepackage[ngerman]{babel} %deutscher Sprachraum
\usepackage[T1]{fontenc} %Ausgabefonts
\usepackage{times}
%\usepackage{newtxtext,newtxmath}
\usepackage[left=25mm,right=30mm,top=25mm,bottom=25mm]{geometry}
\usepackage{multirow}
\usepackage{booktabs}
\usepackage{rotating}
\usepackage{tabularx}
\usepackage{siunitx}
\usepackage{etoolbox}% für \robustify
\usepackage{showframe}

\sisetup{
	locale=DE,
   detect-weight
}

\begin{document}
\begin{table}[htbp]
\robustify\bfseries% Abschnitt 7.15 in siunitx.pdf
\centering
\begin{tabular}{
	p{.8cm}
	l
	S[table-format=5]
	S[table-format=4]
	S[table-format=3]
	S[table-format=5]
	S[table-format=3.2]
}
\toprule
&& \multicolumn{4}{c}{Klassifikationsdaten} & \multicolumn{1}{>{\centering}p{1.7cm}}{Producers Accuracy}\\
\cmidrule(lr){3-6}
&& {Landwirtschaft} & {Wüste} & {Wasser} & {Siedlung} & \\
\midrule
\multirow{4}{*}{\rotatebox{90}{\parbox{1.8cm}{\centering\hspace{0pt} Referenzdaten}}} & Landwirtschaft & 20925 & 450 & 225 & 1575 & 90\\
& Wüste & 450 & 3825 & 0 & 225 & 85\\
& Wasser & 0 & 0 & 450 & 0 & 100\\
& Siedlung & 1125 & 0 & 450 & 20250 & 93\\
\midrule
& Users Accuracy & 93 & 89 & 40 & 92 & \bfseries 90.99\\
\bottomrule
\end{tabular}
\end{table}

\begin{table}[htbp]
\robustify\bfseries
\small
\begin{tabularx}{\textwidth}{
	l
	X
	S[table-format=5]
	S[table-format=4]
	S[table-format=3]
	S[table-format=5.2]
	S[table-format=3.2]
}
\toprule
& & \multicolumn{4}{c}{Klassifikationsdaten} & \multicolumn{1}{>{\centering}p{1.7cm}}{Producers Accuracy}\\
\cmidrule(lr){3-6}
& & {Landwirtschaft} & {Wüste} & {Wasser} & {Siedlung} & \\
\midrule
\multirow{4}{*}{\parbox{1.8cm}{\centering\hspace{0pt} Referenzdaten}}  & Landwirtschaft & 21825 & 0 & 900 & 1125 & 91.51\\
& Wüste & 225 & 4275 & 0 & 450 & 86.36\\
& Wasser & 0 & 0 & 0 & 0 & 0\\
& Siedlung & 450 & 0 & 225 & 20475 & 96.81\\
\midrule
& Users Accuracy & 97 & 100 & 0 & 92.86 & \bfseries 93.24\\
\bottomrule
\end{tabularx}
\end{table}
\end{document}

Abstand von zwei vertikalen Multirows verringern

von pointloma » Fr 3. Mär 2017, 11:51

Hallo Forum,

schon mal vorab danke für die Hilfe. Im folgenden Minimalbeispiel seht ihr zwei mal die selbe Tabelle (bis auf andere Zahlenwerte, was aber ziemlich irrelevant ist). Einmal ist Referenzdaten horizontal, einmal vertikal angeordnet.

Bei der horizontalen Anordnung stört mich die Optik durch den großen Freiraum darüber (wie seht ihr das?).
Bei der vertikalen Anordnung stört mich der große Abstand zwischen den beiden Multirows. Ich habe es schon versucht in eine Spalte zu packen, allerdings ist das Wort Referenzdaten dafür zu lange. Mit parbox kann ich zwar einen Umbruch erzwingen, allerdings passt dann die Position des Wortes überhaupt nicht mehr.

Vielleicht habt ihr ja eine Idee für eine bessere Lösung. Auch im Bezug auf die Optik der Tabelle, denn sind wir mal ehrlich, wir benutzen LaTex doch nicht nur, weil es angenehm zu verwenden ist, sondern auch, weil das Ergebnis einfach gut aussieht (wenn man alles richtig macht). :D
\documentclass[12pt,a4paper]{scrreprt}

\usepackage[utf8]{inputenc} %Eingabekodierung
\usepackage[german]{babel} %deutscher Sprachraum
\usepackage[T1]{fontenc} %Ausgabefonts
\usepackage{times} %Schriftart Times
\usepackage[left=25mm,right=30mm,top=25mm,bottom=25mm]{geometry}

\usepackage{multirow}
\usepackage{booktabs}
\usepackage{rotating}
\usepackage{tabularx}

\begin{document}

\begin{tabularx}{\textwidth}{l l l | c c c c | c }
\toprule
&&& \multicolumn{4}{c|}{Klassifikationsdaten} & Producers\\
&&& Landwirtschaft & Wüste & Wasser & Siedlung & Accuracy\\
\midrule
\multirow{4}{1em}{\begin{sideways} Referenz-\end{sideways}} & \multirow{4}{1em}{\begin{sideways} daten\end{sideways}} & Landwirtschaft & 20925 & 450 & 225 & 1575 & 90\\
&& Wüste & 450 & 3825 & 0 & 225 & 85\\
&& Wasser & 0 & 0 & 450 & 0 & 100\\
&& Siedlung & 1125 & 0 & 450 & 20250 & 93\\
\midrule
&& Users Accuracy & 93 & 89 & 40 & 92 & \textbf{90.99}\\
\bottomrule
\end{tabularx}

\vspace{2cm}

\begin{tabularx}{\textwidth}{l l | c c c c | c }
\toprule
& & \multicolumn{4}{c|}{Klassifikationsdaten} & Producers\\
& & Landwirtschaft & Wüste & Wasser & Siedlung & Accuracy\\
\midrule
\multirow{2}{2cm}{\parbox{2cm}{\begin{center}
Referenz -daten \end{center}}}  & Landwirtschaft & 21825 & 0 & 900 & 1125 & 91.51\\
& Wüste & 225 & 4275 & 0 & 450 & 86.36\\
& Wasser & 0 & 0 & 0 & 0 & 0\\
& Siedlung & 450 & 0 & 225 & 20475 & 96.81\\
\midrule
& Users Accuracy & 97 & 100 & 0 & 92.86 & \textbf{93.24}\\
\bottomrule
\end{tabularx}

\end{document}

Nach oben