\chapter{Graphical Representation of Scientific Data} We may count the ability of adequately presenting scientific data to the core competences needed to do science. We need to present data in a meaningful way that fosters understanding of the data and the results. \begin{figure}[hb!] \includegraphics[width=0.9\columnwidth]{convincing} \titlecaption{The consequences of bad plots may be severe.}{\url{www.xkcd.com}}\label{xkcdplotting} \end{figure} \section{What makes a good plot?} Plot should help/enable the interested reader to get a grasp of the data and to understand the performed analysis and to critically assess the presented results. The most important rule is the correct and complete annotation of the plots. This starts with axis labels and units and and extends to legends. Incomplete annotation can have terrible consequences (\figref{xkcdplotting}). The principle of \emph{ink minimization} may be used a a guiding principle for appealing plots. It requires that the relation of amount of ink spent on the data and that spent on other parts of the plot should be strongly in favor of the data. Ornamental of otherwise unnecessary gimicks should not be used in scientific contexts. An exception can be made if the particular figure was designed for didactiv purposes and sometimes for presentations. \begin{important}[Correct labeling of plots] A data plot must be sufficiently labeled: \begin{itemize} \item Every axis must have a label and the correct unit, if it has one.\\ (e.g. \code[xlabel()]{xlabel('Speed [m/s]'}). \item When more than one line is plotted, they have to be labeled using the figure legend, or similar \matlabfun{legend()}. \item If using subplots that show similar information on the axes, they should be scaled to show the same ranges to ease comparison between plots. (e.g. \code[xlim()]{xlim([0 100])}.\\ If one chooses to ignore this rule one should explicitly state this in the figure caption and/or the descriptions in the text. \item Labels must be large enough to be readable. In particular, when using the figure in a presentation use large enough fonts. \end{itemize} \end{important} \section{Things that should be avoided.} When plotting scientific data we should take great care to avoid suggestive or misleading presentations. Unnecessary additions and fancy graphical effects make a plot frivolous and also violate the \emph{ink minimization principle}. Illustrations in comic style (\figref{comicexamplefig}) are not suited for scientific data in most instances. For presentations or didactic purposes, however, using a comic style may be helpful to indicate that the figure is a mere sketch and the exact position of the data points is of no importance. \begin{figure}[t] \includegraphics[width=0.7\columnwidth]{outlier}\vspace{-3ex} \titlecaption{Comic-like illustration.}{Obviously not suited to present scientific data. In didactic or illustrative contexts they can be helpful to focus on the important aspects.}\label{comicexamplefig} \end{figure} The following figures show examples of misleading or suggestive presentaions of data. Several of the effects have been axaggerated to make the point. A little more subtlely these methods are employed to nudge the viewers experience into the desired direction. You can find more examples on \url{https://en.wikipedia.org/wiki/Misleading_graph}. \begin{figure}[p] \includegraphics[width=0.35\textwidth]{misleading_pie} \hspace{0.05\textwidth} \includegraphics[width=0.35\textwidth]{sample_pie} \titlecaption{Perspective distortion influendes the perceived size.}{By changing the perspective of the 3-D illustration the highlighted segment \textbf{C} gains more weight than it should have. In the left graph segments \textbf{A} and \textbf{C} appear very similar. The 2-D plot on the right-hand side shows that this is an illusion. \url{https://en.wikipedia.org/wiki/Misleading_graph}}\label{misleadingpiefig} \end{figure} \begin{figure}[p] \begin{minipage}[t]{0.3\textwidth} \includegraphics[width=0.9\textwidth]{line_graph1} \end{minipage} \begin{minipage}[t]{0.3\textwidth} \includegraphics[width=0.9\textwidth]{line_graph1_3} \end{minipage} \begin{minipage}[t]{0.3\textwidth} \includegraphics[width=0.9\textwidth]{line_graph1_4} \end{minipage} \titlecaption{Chosing the figure format influences the erceived strength of a correlation.}{All three subplots show the same data. By choosing a certain figure size we can pronounce or to reduce the perceived strength of the correlation in th data. Techincally all three plots are correct. \url{https://en.wikipedia.org/wiki/Misleading_graph}}\label{misleadingscalingfig} \end{figure} \begin{figure}[p] \begin{minipage}[t]{0.3\textwidth} \includegraphics[width=0.8\textwidth]{improperly_scaled_graph} \end{minipage} \begin{minipage}[t]{0.3\textwidth} \includegraphics[width=0.8\textwidth]{comparison_properly_improperly_graph} \end{minipage} \begin{minipage}[t]{0.3\textwidth} \includegraphics[width=0.7\textwidth]{properly_scaled_graph} \end{minipage} \titlecaption{Scaling of markers and symbols.} {In these graphs symbols have been used to illustrate the measurements made in two categories. The measured value for category \textbf{B} is actually three times the measured value for category \textbf{A}. In the left graph the symbol for catergory \textbf{B} has been scaled to triple heigth while maintaining the porpotions. This appears jusst fair and correct but leads to the effect that the covered surface is not increased to the 3-fold but the 9-fold (center plot). The plot on the right shows how it could have been done correctly. \url{https://en.wikipedia.org/wiki/Misleading_graph}} \label{misleadingsymbolsfig} \end{figure} By using perspective effects in 3-D plot the perceived size can be distorted into the desired direction. While the plot is correct in a strict sense it is rather suggestive (\figref{misleadingpiefig}). Similarly the choice of figure size and proportions can lead to different interpretations of the data. Stretching the y-extent of a graph leads to a stronger impression of the correlation in the data. Compressing this axis will lead to a much weaker perceived correlation (\figref{misleadingscalingfig}). When using symbols to illustrate a quantity we have to take care not to overrate of difference due to symbol scaling (\figref{misleadingsymbolsfig}). \section{Das Plottingsystem von \matlab{}} Plotten in \matlab{} ist zun\"achst einmal einfach. Durch den Aufruf von \code[plot()]{plot(x, y)} wird ein einfacher, schlichter Linienplot erstellt. Diesem Plot fehlen jedoch jegliche Annotationen wie Achsbeschriftungen, Legenden, etc. Es gibt zwei M\"oglichkeiten diese hinzuzuf\"ugen: (i) das Graphische User Interface oder (ii) die Kommandozeile. Beide haben ihre Berechtigung sowie Vor- und Nachteile. \begin{figure} \begin{minipage}[t]{0.6\textwidth} \includegraphics[height=0.29\textheight]{plot_editor} \end{minipage} \begin{minipage}[t]{0.3\textwidth} \includegraphics[height=0.29\textheight]{property_editor} \end{minipage} \titlecaption{Der \matlab{} Plot-Editor.}{\"Uber das Menu ``Tools $\rightarrow$ Edit Plot'' erreicht man den Plot Editor. Je nachdem welches Element des Plots ausgew\"ahlt wurde, ver\"andern sich die Einstellungsm\"oglichkeiten. Weitere Eigenschaften und Einstellungen k\"onnen \"uber den ``Property Editor'', rechts, eingesehen und ver\"andert werden. Der ``Property Editor'' ist \"uber die Schaltfl\"ache ``More Properties'' erreichbar.}\label{ploteditorfig} \end{figure} W\"ahrend es bequem ist, die Abbildung mit der GUI (\figref{ploteditorfig}) zu bearbeiten sind die erhaltenen Ergebnisse nicht einfach reproduzierbar oder \"ubertragbar. Wenn eine Abbildung korrigiert werden musss, wird es schwierig und zeitaufwendig. Plots in \matlab{} bestehen aus mehreren Elementen: \begin{enumerate} \item \enterm[figure]{Figure}: Dieses Element stellt die gesamte Zeichenf\"ache, das Blatt Papier, dar. \item \enterm[axes]{Axes}: Das Koordinatensystem in welches gezeichnet wird. \item \enterm[lines]{Lines}: Die gezeichneten Datenplots wie Linien, Fl\"achen, etc. \item \enterm[annotations]{Annotations}: Annotationen wie Textboxen oder auch Pfeile, die zum Hervorheben von Punkten, oder Abschnitten gedacht sind. \item \enterm[legends]{Legends}: Legenden der Datenplots. \end{enumerate} Jedes dieser Elemente bietet eine Vielzahl von Einstellungsm\"oglichkeiten. Wie schon erw\"ahnt, k\"onnen diese \"uber die GUI (Abbildung \ref{ploteditorfig}) bearbeitet werden. Alle Einstellungen, die \"uber das graphische Interface vorgenommen werden k\"onnen, sind auch \"uber Befehle auf der Kommandozeile m\"oglich. Auf diese Weise k\"onnen Einstellungen problemlos in ein Skript oder eine Funktion eingebaut werden. Dieser Ansatz hat den gro{\ss}en Vorteil, dass man sich die M\"uhe nur einmal machen muss. Die Abbildungen k\"onnen exakt reproduziert werden und m\"ussen nicht mehr neu beschriftet werden, wenn sich die Daten ver\"andert oder erweitert haben, oder wenn der gleiche Plot von vielen Datens\"atzen erstellt werden soll. \begin{important}[Manuelle Bearbeitung vermeiden] Das nachtr\"agliche Bearbeiten und Beschriften der Abbildungen mit einem beliebigen Graphikprogramm erscheint auf den ersten Blick bequem, birgt aber seine eigenen Risiken (z.B. verrutschte Achsen, verlorengegangene Beschriftungen, etc.) und ist auf lange Sicht sehr aufwendig, da bei ver\"anderter Datenlage die Graphik nur manuell reproduzierbar ist. Deshalb sollten publikationsreife Abbildungen immer vollst\"andig aus \matlab{} heraus erzeugt werden und eine Nachbearbeitung mit Graphikprogrammen m\"oglichst ganz vermieden werden. \end{important} \subsection{Einfaches Plotten} Einen einfachen Linienplot zu erstellen ist denkbar einfach. Angenommen, es existiert einer Variable \varcode{y} im \enterm{Workspace}, die die darzustellenden Daten enth\"alt. Es gen\"ugt folgender Funktionsaufruf: \code[plot()]{plot(y)}. Wenn bislang noch keine Abbildung erstellt wurde, \"offnet \matlab{} ein neues Fenster und stellt die Daten als Linienplot dar. Dabei werden die Datenpunkte durch eine Linie verbunden. Die Messpunkte selbst sind nicht sichtbar. Wenn schon eine Abbildung existiert, wird der Inhalt ersetzt. Das Festhalten von bestehenden Plots kann an- oder abgestellt werden indem \code{hold on} bzw. \code{hold off} vor dem \code{plot()} Befehl aufgerufen wird. Im obigen Plot Aufruf wird nur ein Argument, das \varcode{y}, an die Funktion \code{plot()} \"ubergeben. \code{plot()} erh\"alt nur die y-Werte. \matlab{} substituiert in diesem Fall die fehlenden x-Werte, indem eine Schrittweite von 1 angenommen wird. Die x-Achse reicht also von 1 bis zur L\"ange des Vektors \varcode{y}. Diese Skalierung der x-Achse ist nur in den wenigsten F\"allen erw\"unscht. Besser ist es, die zugeh\"origen x-Werte explixit zu \"ubergeben und so z.B. die y-Werte als Funktion der Zeit darzustellen (\code[plot()]{plot(x, y)}). Standard\"a{\ss}ig wird der erste Lininenplot in blau, mit durchgezogener Linie, ohne Marker und der Strichst\"arke 1 dargestellt. Der zweite Linienplot erh\"alt automatisch die Farbe 'rot'. Alle anderen Eigenschaften sind identisch. Die Reihenfolge der Farben ist vordefiniert kann aber durch das Setzen einer \enterm{colormap} beeinflusst werden. Die Tabellen \ref{plotlinestyles} zeigen vordefinierte Werte f\"ur den Linienstil, die Farbe und die verschiedenen Marker. \begin{table}[tp] \titlecaption{Vordefinierte Linienstile (links), Farben (Mitte) und Markersymbole (rechts).}{}\label{plotlinestyles} \begin{tabular}[t]{lc} \hline \textbf{Linienstil} & \textbf{K\"urzel} \erh \\\hline durchgezogen & '\verb|-|' \erb \\ gestrichelt & '\verb|--|' \\ gepunktet & '\verb|:|' \\ Strichpunkte & '\verb|.-|' \\\hline \end{tabular} \hfill \begin{tabular}[t]{lc} \hline \textbf{Farbe} & \textbf{K\"urzel} \erh \\ \hline Rot & 'r' \erb \\ Gr\"un & 'g' \\ Blau & 'b' \\ Cyan & 'c' \\ Magenta & 'm' \\ Gelb & 'y' \\ Schwarz & 'k' \\ \hline \end{tabular} \hfill \begin{tabular}[t]{lc} \hline \textbf{Markersymbol} & \textbf{K\"urzel} \erh \\ \hline Kreis & 'o' \erb \\ Stern & '*' \\ Plus & '+' \\ Kreuz & 'x' \\ Diamant & 'd' \\ Pentagramm & 'p' \\ Hexagramm & 'h' \\ Quadrat & 's' \\ Dreieck & '\^{}' \\ Umgekehrtes Dreieck & 'v' \\ Dreieck links & '$<$'\\ Dreieck rechts & '$>$'\\\hline \end{tabular} \end{table} \subsection{Ver\"andern von Linieneigenschaften} Die Eigenschaften des Linienplots k\"onnen \"uber weitere Argumente der \code{plot()} Funktion ver\"andert werden. Folgender Aufruf (Listing \ref{settinglineprops})erzeugt einen roten Linienplot mit gepunkteter Linie der St\"arke 1.5 und Sternmarkern an den Positionen der Datenpunkte. Zus\"atzlich wird noch die Eigenschaft \code{displayname} gesetzt, um dem Linienplot einen Namen zu geben, der in einer Legende verwendet werden kann. \begin{lstlisting}[label=settinglineprops, caption={Setzen von Linieneigenschaften beim \varcode{plot} Aufruf}] x = 0:0.1:2*pi; y = sin(x); plot( x, y, 'color', 'r', 'linestyle', ':', 'marker', '*', 'linewidth', 1.5, 'displayname', 'plot 1') \end{lstlisting} \subsection{Ver\"andern von Achseneigenschaften} Das erste, was ein Plot zus\"atzlich braucht, ist eine Achsenbeschriftung. Mithilfe der Funktionen \code[xlabel()]{xlabel('Time [ms]')} und \code[ylabel()]{ylabel('Voltage [V]')} k\"onnen diese gesetzt werden. Standardm\"a{\ss}ig setzt Matlab die Grenzen der x- und y-Achse so, dass die Daten hineinpassen. Dabei wird meist auf den n\"achsten ganzzahligen Wert aufgerundet. Mit den Funktionen \code{xlim()} und \code{ylim()} k\"onnen die Grenezen der Achsen aber auch manuell eingestellt werden. Die Funktionen \code{xlim()} und \code{ylim()} erwarten als Argument einen 2-elementigen Vektor mit dem Minimum und dem Maximum der jeweiligen Achse. Tabelle \ref{plotaxisprops} listet weitere h\"aufig genutzte Einstellungen der Achsen. Mit der \code{set()} - Funktion k\"onnen diese ver\"andert werden wie in Zeile 15 in Listing \ref{niceplotlisting} gezeigt. Die \code{set()} - Funktion erwartet als erstes Argument ein sogenanntes Handle der Achse, dieses wird gefolgt von einer beliebig langen Reihe von Eigenschaft-Wert Paaren. Soll z.B. das Gitternetz der x-Achse gezeigt werden, wird die Eigenschaft \code{XGrid} auf den Wert \varcode{'on'} gesetzt: \code[set()!set(gca, 'XGrid', 'on')]{set(gca, 'XGrid', 'on');}. Das erste Argument ist ein Aufruf der Funktion \code{gca}, \enterm{get-current-axis} und ist das Achsenhandle der gerade aktiven Achse. \begin{table}[tp] \titlecaption{Ausgew\"ahlte Eigenschaften der Achse.}{ Alle Eigenschaften der Achse findet man in der Hilfe oder im \codeterm{Property Editor} (\figref{ploteditorfig}). Wenn es eine definierte Auswahl von Einstellungen gibt, z.B. bei der Eigenschaft \code{Box}, dann ist die Standardeinstellungen als erstes gelistet.}\label{plotaxisprops} \begin{tabular*}{1\textwidth}{lp{5.8cm}p{5.5cm}} \hline \textbf{Eigenschaft} & \textbf{Beschreibung} & \textbf{Optionen} \erh \\ \hline \code{Box} & Definiert, ob der Rahmen der Achse vollst\"andig gezeichnet wird. & $\{'on'|'off'\}$ \erb \\ \code{Color} & Hintergrundfarbe des Koordinatensystems. & Beliebige RGB, CMYK Werte. \\ \code{Fontname} & Der Name der Schriftart. & Im System installierte Schriften. \\ \code{FontSize} & Gr\"o{\ss}e der Schrift. & Skalarer Wert.\\ \code{FontUnit} & Einheit, in der die Schriftgr\"o{\ss}e bestimmt wird. & $\{'points' | 'centimeters' | 'inches', ...\}$\\ \code{FontWeight} & Fett- oder Normalsatz der Schrift. & $\{'normal' | 'bold'\}$\\ % & 'd' \\ ?????? \code{TickDir} & Richtung der Teilstriche auf der Achse. & $\{'in' | 'out'\}$\\ \code{TickLength} & L\"ange der Haupt- und Nebenteilstriche & \\ \code{X-, Y-, ZDir} & Richtung der Achsskalierung. & $\{'normal' | 'reversed'\}$\\ \code{X-, Y-, ZGrid} & Sollen Gitternetzlinien gezeigt werden? & $\{'off'|'on'\}$ \\ \code{X-, Y-, ZScale} & Lineare oder logarithmische Skalierung der Achse. & $\{'linear' | 'log'\}$\\ \code{X-, Y-, ZTick} & Position der Teilstriche auf der Achse. & Vektor mit Positionen.\\ \code{X-, Y-, ZTickLabel} & Beschriftung der Teilstriche. & Vektor mit entsprechenden Zahlen oder Cell-Array mit Strings.\\ \hline \end{tabular*} \end{table} \subsection{Ver\"andern von Figure-Einstellungen} \begin{table}[tp] \titlecaption{Ausgew\"ahlte Eigenschaften der Figure.}{Alle Eigenschaften der \enterm[figure]{Figure} findet man in der Hilfe von \matlab{} oder im \codeterm{Property Editor} wenn die Abbildung ausgew\"ahlt wurde (\figref{ploteditorfig}).}\label{plotfigureprops} \begin{tabular*}{1\textwidth}{lp{6.6cm}p{5.7cm}} \hline \textbf{Eigenschaft} & \textbf{Beschreibung} & \textbf{Optionen} \erh \\ \hline \code{Color} & Hintergrundfarbe der Zeichenfl\"ache. & Beliebige RGB, CMYK Werte. \erb \\ \code{PaperPosition} & Position der Abbildung auf dem Papier & 4-elementiger Vektor mit den Positionen der linken-unteren, und rechten-oberen Ecke. \\ \code{PaperSize} & Gr\"o{\ss}e der des Papiers. & 2-elementiger Vektor mit der Papiergr\"o{\ss}e.\\ \code{PaperUnits} & Einheit, in der die Papiergr\"o{\ss}e bestimmt wird. & $\{'inches' | 'centimeters' | 'normalized' | 'points'\}$\\ \code{Visible} & Hilfreich, wenn ein Plot aus Performanzgr\"unden nicht auf dem Bildschirm gezeigt, sondern direkt gespeichert werden soll. & $\{'on' | 'off'\}$\\ \hline \end{tabular*} \end{table} Wie die Achse, hat auch das \codeterm{Figure} Element eine Reihe von Eigenschaften, die nach Bedarf mit der \code{set()} - Funktion gesetzt werden k\"onnen (Tabelle \ref{plotfigureprops} listet die meistverwendeten). Das erste Argument f\"ur \code{set()} ist jetzt aber eine Handle f\"ur die Abbildung, nicht das Koordinatensystem. Statt der Funktion \code{gca} wird \code{gcf} (\enterm{get-current-figure}) benutzt. Das folgende Listing \ref{niceplotlisting} zeigt wie ein Skript aussehen k\"onnte, das die notwendigen Anpassungen vornimmt. Bei jedem Aufruf des Skripts wird exakt der gleiche Plot (Abbildung \ref{spikedetectionfig}) erstellt und gespeichert. Erw\"ahnenswert sind hier vor allem die Zeilen 2 und 3 in denen die Gr\"o{\ss}e der Abbildung in Zentimetern definiert wird. In Zeile 16 wird die Abbildung dann in genau der angegebenen Gr\"o{\ss}e im ``pdf'' Format gespeichert. Dazu wird die Funktion \code{saveas()} verwendet, die als erstes Argument wieder ein Handle auf die Figure erwartet. Das zweite Argument ist der Dateiname, und zuletzt muss das gew\"unschte Format (Box \ref{graphicsformatbox}) angegeben werden. \begin{figure}[t] \includegraphics{spike_detection} \titlecaption{Automatisch erstellter Plot.}{Dieser Plot wurde vollst\"andig mit dem Skript in Listing \ref{niceplotlisting} erstellt und gespeichert.}\label{spikedetectionfig} \end{figure} \begin{ibox}[t]{\label{graphicsformatbox}Dateiformate f\"ur Abbildungen.} Es gibt zwei grunds\"atzlich verschiedene Arten von Dateiformaten f\"ur Graphiken: \begin{enumerate} \item \determ{Rastergraphik} (\enterm{bitmap}) \item \determ{Vektorgraphik} (\enterm{vector graphics}) \end{enumerate} Bei Rastergraphiken wird f\"ur jeden Bildpunkt (jedes Pixel) der aktuelle Farbwert angegeben. Rastergraphiken haben eine bestimmte Aufl\"osung (z.B. 300\,dpi --- dots per inch). Sie sind vor allem f\"ur Fotos geeignet. Im Gegensatz dazu werden bei Vektorgraphiken die Abbildungen durch sogenannte Primitive (Linien, Kreise, Polygone, ...) beschrieben. Der Vorteil der Vektorgraphiken ist die Skalierbakeit ohne Qualit\"atsverlust. \begin{minipage}[t]{0.38\textwidth} \mbox{}\\[-2ex] \includegraphics[width=0.85\textwidth]{VectorBitmap.pdf} \rotatebox{90}{\footnotesize by Darth Stabro at en.wikipedia.org} \end{minipage} \hfill \begin{minipage}[t]{0.5\textwidth} Von \matlab{} unterst\"utzte Formate\footnote{mehr Information in der Hilfe zu \code{saveas()}}:\\[2ex] \begin{tabular}{|l|c|l|} \hline \textbf{Format} & \textbf{Typ} & \code{saveas()} Argument \erh \\ \hline pdf & Vektor & \varcode{'pdf'} \erb \\ eps & Vektor & \varcode{'eps'}, \varcode{'epsc'} \\ SVG & Vektor & \varcode{'svg'} \\ PS & Vektor & \varcode{'ps'}, \varcode{'psc'} \\ jpg & Bitmap & \varcode{'jpeg'} \\ tif & Bitmap & \varcode{'tiff'}, \varcode{'tiffn'} \\ png & Bitmap & \varcode{'png'} \\ bmp & Bitmap & \varcode{'bmp'} \\ \hline \end{tabular} \end{minipage} Wenn aus \matlab{} heraus Graphiken gespeichert werden sollen, dann ist es meistens sehr sinnvoll sie als Vektorgraphik zu speichern. Im Zweifelsfall k\"onnen diese sp\"ater immer noch in Rastergraphiken umgewandelt werden. Der Weg von einer Rastergraphik zu einer Vektorgraphik ist dagegen nicht verlustfrei m\"oglich. Das Speichern von Abbildungen mit sehr vielen graphischen Elementen (z.B. ein Rasterplot mit tausenden von Aktionspotentialen) ist als Rastergraphik allerdings deutlich schneller und speichereffizienter. \end{ibox} \lstinputlisting[caption={Skript zur Erstellung des Plots in \figref{spikedetectionfig}.}, label=niceplotlisting]{automatic_plot.m} Neben den Standard-Linienplots gibt es eine ganze Reihe weiterer M\"oglichkeiten Daten zu Visualisieren. Mathworks zeigt auf seiner Homepage viele Beispiele mit zugeh\"origem Code \url{http://www.mathworks.de/discovery/gallery.html}. \section{Fazit} Ein guter Datenplot stellt die Daten m\"oglichst vollst\"andig und n\"uchtern dar. Verzerrungen durch perspektivische Darstellungen, Achs- oder Symbolskalierungen sollten vermieden werden. Wenn verschiedene Linienplots in einen Graphen geplottet werden, sollte neben der Farbe auch der Linienstil (durchgezogen, gepunktet, gestrichelt, etc.) variiert werden, um auch im Schwarz-Wei{\ss}-Druck eine Unterscheidung zu erm\"oglichen. Bei der Farbwahl sollte auf Kombinationen aus Rot und Gr\"un verzichtet werden, da sie f\"ur einen nicht unwesentlichen Teil der m\"annlichen Bev\"olkerung nicht unterscheidbar sind. Achte bei der Erstellung von Plots insbesondere auf: \begin{itemize} \item Klarheit. \item Vollst\"andige und lesbare Beschriftung. \item Deutliche Unterscheidbarkeit von Kurven. \item Keine suggestive Darstellung. \item Ausgewogenheit von Linienst\"arken, Schrift- und Plotgr\"o{\ss}e. \item Fehlerbalken, wenn sie angebracht sind. \end{itemize}