From 7b2f04679ee9321b20739550618b1b7d2150673a Mon Sep 17 00:00:00 2001 From: Jan Grewe Date: Tue, 24 Oct 2017 14:58:03 +0200 Subject: [PATCH] [plotting] backup of german version --- plotting/lecture/plotting_de.tex | 465 +++++++++++++++++++++++++++++++ 1 file changed, 465 insertions(+) create mode 100644 plotting/lecture/plotting_de.tex diff --git a/plotting/lecture/plotting_de.tex b/plotting/lecture/plotting_de.tex new file mode 100644 index 0000000..530616e --- /dev/null +++ b/plotting/lecture/plotting_de.tex @@ -0,0 +1,465 @@ +\chapter{Graphische Darstellung von Daten} + +Die F\"ahigkeit zur ad\"aquaten Darstellung wissenschaftlicher Daten +darf durchaus zu den notwendigen Kernkompetenzen gez\"ahlt werden. Wir +brauchen sie um unsere Daten und Ergebnisse \"uberzeugend darzustellen +und um das Verst\"andnis zu vereinfachen. + +\begin{figure}[hb!] + \includegraphics[width=0.9\columnwidth]{convincing} + \titlecaption{Die Folgen schlecht annotierter + Plots.}{\url{www.xkcd.com}} \label{xkcdplotting} +\end{figure} + +\section{Was macht einen guten Plot aus?} +Graphen sollen dem geneigten Leser erm\"oglichen, die Daten zu +erfassen und die beschriebenen Ergebnisse und Effekte zu begutachen, +zu hinterfragen und zu validieren. + +Eine der obersten Regeln ist die vollst\"andige Annotation von Plots: +Achsenbeschriftung mit Einheiten und Legenden +(\figref{xkcdplotting}). + +Eine weiteres Prinzip f\"ur ansprechende Graphiken ist die \emph{ink + minimization}. Dieses Prinzip fordert, dass das Verh\"altnis aus +Tinte, die f\"ur die Darstellung der Daten gebraucht wird und der +Menge Tinte, die f\"ur sonstige Elemente der Graphik aufgewendetwird +m\"oglichst gro{\ss} ist. Mit anderen Worten: \"uberfl\"ussige +Ausschm\"uckungen sollten sich in Datenplots nur selten finden lassen; +die Daten sollen im Vordergrund stehen. Eine Ausnahme kann gemacht +werden, wenn der Plot z.B in einer Pr\"asentation oder zu didaktischen +Zwecken genutzt wird. + +\begin{important}[Beschriftung von Plots] + Ein Datenplot muss ausreichend beschriftet werden: + \begin{itemize} + \item Alle Achsen m\"ussen eine Bezeichnung und eine Einheit erhalten\\ + (z.B. \code[xlabel()]{xlabel('Geschwindigkeit [m/s]'}). + \item Wenn mehrere Dinge in einem Plot dargestellt werden, m\"ussen + diese mit einer Legende oder \"ahnlichem benannt werden + \matlabfun{legend()}. + \item Mehrere Plots mit den gleichen Gr\"o{\ss}en auf den Achsen, + m\"ussen den gleichen Wertebereich auf den Achsen zeigen + (z.B. \code[xlim()]{xlim([0 100])}.\\ + Ausnahmen sind m\"oglich, sollten aber in der + Abbildungsunterschrift erw\"ahnt werden. + \item Die Beschriftung mu{\ss} gro{\ss} genug sein, um lesbar zu sein. + \end{itemize} +\end{important} + + +\section{Dinge, die vermieden werden sollten.} + +Bei der Darstellung wissenschaftlicher Daten sollte drauf geachtet +werden suggestive oder fehlleitende Darstellungen zu vermeiden. +Ablenkung durch \"uberm\"a{\ss}ige Effekte lassen einen Plot unruhig +und unseri\"os wirken (Versto{\ss} gegen das Prinzip \enterm{ink + minimization}). Comicartige Effekte wie z.B. in +\figref{comicexamplefig} sind nicht geeignet um Daten darzustellen. Im +didaktischen Kontext hingegen kann dieser Stil hilfreich sein, um zu +betonen, dass es sich um illustrative Beispiele handelt bei denen es +nicht auf die genaue Lage der Datenpunkte ankommt. + +\begin{figure}[t] + \includegraphics[width=0.7\columnwidth]{outlier}\vspace{-3ex} + \titlecaption{Comicartige Darstellungen.}{Sie sind f\"ur die Darstellung + wissenschaftlicher Daten nicht geeignet. F\"ur illustrative Beispiele + k\"onnen sie aber helfen, die wesentlichen Aspekte zu betonen.}\label{comicexamplefig} +\end{figure} + +Im Folgenden werden einige Beispiele fehlleitender oder suggestiver +Darstellungen gezeigt. Einiger dieser Effekte sind deutlich +\"uberzeichnet, sie werden aber, etwas dezenter nat\"urlich, mitunter +mit voller Absicht eingesetzt, um die Wahrnehmung in die gewollte +Richtung zu beeinflussen. Auf Wikipedia gibt es weitere Beispiele +(\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{Perspektivische Verzerrung beeinflusst die + Gr\"o{\ss}enwahrnehmung.}{Durch die Wahl der perspektivischen + Darstellung erscheint das hervorgehobene Segment C des + Tortendiagramms als mindestens gleichwertig zu Segment A. Die + 2-dimensionale Darstellung rechts macht deutlich, dass die + scheinbare Gleichwertigkeit der Segmente A und C eine reine + Illusion ist. Quelle: + \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{Die Wahl der Zeichenfl\"ache beeinflusst den visuellen + Eindruck.}{Alle drei Plots zeigen die gleichen Daten. Allein die + Skalierung der Zeichenfl\"ache unterscheidet sich und beeinflusst, + wie stark der Zusammenhang zwischen den Gr\"o{\ss}en auf der x- + und y-Achse wahrgenommen wird. Quelle: + \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{Die Skalierung von Symbolen kann problematisch sein.} + {In diesen Graphen werden Symbole eingesetzt um Messgr\"o{\ss}en in + zwei Kategorien zu vergleichen. Die Messgr\"o{\ss}e in Kategorie B + ist dabei 3-fach so gro{\ss}. Im linken Fall wird das einzelne + Symbol f\"ur Kategorie B proportional auf die 3-fache H\"ohe + skaliert (die Seitenverh\"altnisse bleiben erhalten). Dies scheint + auf den ersten Blick korrekt, f\"uhrt aber dazu, dass das Symbol + der Kategorie B nicht nur dreifach gewachsen ist sondern nun die + neunfache Fl\"ache besitzt. Der Plot rechts zeigt die korrekte + Verwendung von Symbolen. Quelle: + \url{https://en.wikipedia.org/wiki/Misleading_graph}} \label{misleadingsymbolsfig} +\end{figure} + +Durch perspektivische Effekte k\"onnen Gr\"o{\ss}enverh\"altnisse +verzerrt dargestellt werden (\figref{misleadingpiefig}). Ver\"anderung +der Achsenskalierungen kann die Wahrnehmung des Betrachters in die +eine oder andere Richtung lenken. Ein Zusammenhang kann so +verschleiert oder \"ubertrieben werden +(\figref{misleadingscalingfig}). Insbesondere wenn die Gr\"o{\ss}e +von Symbolen zur Darstellung einer Quantit\"at eingesetzt wird, muss +mit Vorsicht vorgegangen werden, um Unterschiede nicht \"uberproportional +darzustellen (\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} +