283 lines
12 KiB
TeX
283 lines
12 KiB
TeX
\chapter{\tr{Data plotting}{Graphische Darstellung von Daten}}
|
|
|
|
\section{Dos and Don'ts bei der graphische Darstellung von Daten}
|
|
|
|
Die Fähigkeit zur ad\"aquaten Darstellung wissenschaftlicher Daten
|
|
darf man durchaus zu den notwendigen Kernkompetenzen z\"ahlen. Wir
|
|
brauchen sie um unsere Daten und Ergebnisse \"uberzeugend darzustellen
|
|
und 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}
|
|
|
|
\subsection{Was soll ein Plot leisten?}
|
|
Graphen sollen dem geneigten Leser wissenschaftlicher Arbeiten
|
|
erm\"oglichen die Daten zu erfassen und die beschriebenen Effekte zu
|
|
begutachen, zu hinterfragen und zu validieren. Eine der obersten
|
|
Regeln ist die vollst\"andige Annotation von Plots (Abbildung
|
|
\ref{xkcdplotting}). Eine weiteres Prinzip, an das man sich halten
|
|
sollte ist die \textbf{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 aufgewendet m\"oglichst gro{\ss} ist. Mit anderen Worten
|
|
\"uberfl\"ussiger Ausschm\"uckungen sollten sich in Datenplots nur
|
|
selten finden lassen. Eine Ausnahme kann vielleicht gemacht werden,
|
|
wenn der Plot z.B in einer Pr\"asentation oder zu didaktischen
|
|
Zwecken genutzt wird.
|
|
|
|
\subsection{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. Comicartige Effekte wie z.B. in Abbildung
|
|
\ref{comicexamplefig} sind in der Regel nicht zul\"assig. Ausnahme ist
|
|
hier allerdings der Einsatz im didaktischen Kontext, wo es um die
|
|
Illustration (z.B. einer Methode) geht und kein Anspruch auf
|
|
Korrektheit besteht.
|
|
|
|
\begin{figure}
|
|
\includegraphics[width=0.35\columnwidth]{images/one_d_problem_c}
|
|
\titlecaption{Comicartige Darstellungen}{ sind f\"ur die Darstellung
|
|
wissenschaftlicher Daten nicht geeignet.}\label{comicexamplefig}
|
|
\end{figure}
|
|
|
|
\subsection{Beispiele suggestiver oder fehlleitender Darstellungen}
|
|
Im folgenden werden einige Beispiele fehlleitender oder suggestiver
|
|
Darstellungen gezeigt. Einiger dieser Effekte sind deutlich
|
|
\"uberzeichnet, die beschriebenen ``Tricks'' werden allerdings, 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}).
|
|
|
|
Durch perspektivische Effekte k\"onnen Gr\"o{\ss}enverh\"altnisse
|
|
verzerrt dargestellt werden (z.B. Abbildung
|
|
\ref{misleadingpiefig}). Ver\"anderung der Achsenskalierungen kann die
|
|
Wahrnehmung des Betrachters in die ein oder andere Richtung
|
|
lenken. Ein Zusammenhang kann so verschleiert oder \"ubertrieben
|
|
werden (Abbildung \ref{misleadingscalingfig}). Insbesondere wenn die
|
|
Gr\"o{\ss}e von Symbolen zur Darstellung einer Quantit\"at eingesetzt
|
|
werden, muss man mit Vorsicht vorgehen um Unterschiede nicht
|
|
\"uberproportional darzustellen (Abbildung
|
|
\ref{misleadingsymbolsfig}).
|
|
|
|
\begin{figure}
|
|
\begin{minipage}[t]{0.4\textwidth}
|
|
\includegraphics[width=\textwidth]{images/misleading_pie}
|
|
\end{minipage}
|
|
\begin{minipage}[t]{0.4\textwidth}
|
|
\includegraphics[width=\textwidth]{images/sample_pie}
|
|
\end{minipage}
|
|
\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}
|
|
\begin{minipage}[t]{0.3\textwidth}
|
|
\includegraphics[width=0.9\textwidth]{images/line_graph1}
|
|
\end{minipage}
|
|
\begin{minipage}[t]{0.3\textwidth}
|
|
\includegraphics[width=0.9\textwidth]{images/line_graph1_3}
|
|
\end{minipage}
|
|
\begin{minipage}[t]{0.3\textwidth}
|
|
\includegraphics[width=0.9\textwidth]{images/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}
|
|
\begin{minipage}[t]{0.3\textwidth}
|
|
\includegraphics[width=0.8\textwidth]{images/improperly_scaled_graph}
|
|
\end{minipage}
|
|
\begin{minipage}[t]{0.3\textwidth}
|
|
\includegraphics[width=0.8\textwidth]{images/comparison_properly_improperly_graph}
|
|
\end{minipage}
|
|
\begin{minipage}[t]{0.3\textwidth}
|
|
\includegraphics[width=0.7\textwidth]{images/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}
|
|
|
|
\newpage
|
|
|
|
\section{Das Plottingsystem von \matlab{}}
|
|
|
|
Plotten in \matlab{} ist zun\"achst einmal einfach. Durch den Aufruf
|
|
von \code{plot(x, y)} wird ein einfacher, schlichter Linienplot
|
|
erstellt. Zun\"achst fehlen diesem Plot jegliche Annotationen wie
|
|
Achsbeschriftungen, Legenden, etc. Um diese hizuzuf\"ugen kann man
|
|
zwei Wege gehen: Das Graphische User Interface oder die
|
|
Kommandozeile. Beide haben ihre Berechtigung sowie Vor- und
|
|
Nachteile. W\"ahrend es bequem ist, die Abbildung mit der GUI
|
|
(Abbildung \ref{ploteditorfig}) zu bearbeiten sind die erhaltenen
|
|
Ergebnisse nicht einfach reproduzierbar. Wenn eine Abbildung
|
|
korrigiert werden musss, wird es schwierig und zeitaufwendig. Die
|
|
nachtr\"agliche Bearbeitung der Abbildungen mit einem beliebigen
|
|
Graphikprogramm erscheitn bequem, birgt seine eigenen Risiken und ist
|
|
auf lange Sicht sehr aufwendig. Das Bestreben sollte sein, aus
|
|
\matlab{} heraus publikationsreife Abbildungen zu erzeugen.
|
|
|
|
|
|
|
|
TODOS\\
|
|
Elemente eines Plots:
|
|
\begin{enumerate}
|
|
\item Figure
|
|
\item Axes
|
|
\item Lines
|
|
\item Annotationen
|
|
\item Legende
|
|
\end{enumerate}
|
|
|
|
\subsection{Einfaches Plotten}
|
|
TODO
|
|
|
|
\subsection{Ver\"andern von Eigenschaften von Linen}
|
|
|
|
\begin{figure}
|
|
\begin{minipage}[t]{0.6\columnwidth}
|
|
\includegraphics[width=0.9\textwidth]{plot_editor}
|
|
\end{minipage}
|
|
\begin{minipage}[t]{0.3\columnwidth}
|
|
\includegraphics[width=0.9\textwidth]{property_editor}
|
|
\end{minipage}
|
|
\caption{\textbf{Graphischer Plot Editor.} \"Uber das Menu
|
|
``Tools->Edit Plot'' erreicht man den Plot Editor. Je nachdem
|
|
welches Element des Plots ausgew\"ahlt wurde ver\"andern sich
|
|
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}
|
|
|
|
Alle Einstellungen, die man \"uber das graphische Interface machen
|
|
kann sind auch \"uber Befehle auf der Kommandozeile m\"oglich. Das
|
|
hei{\ss}t, dass die Einstellungen problemlos in ein Skript oder eine
|
|
Funktion eingebaut werden k\"onnen. Dieser Ansatz hat den Vorteil,
|
|
dass man sich die M\"uhe nur einmal machen muss. Zu den h\"aufigsten
|
|
Einstellungen geh\"oren:
|
|
\begin{enumerate}
|
|
\item Einstellungen der Linienplots:
|
|
\begin{itemize}
|
|
\item St\"arke und Farbe.
|
|
\item Linienstil, Marker.
|
|
\end{itemize}
|
|
\item Achsbeschriftung:
|
|
\begin{itemize}
|
|
\item \code{xlabel}, \code{ylabel}.
|
|
\item Schriftart und Gr\"o{\ss}e.
|
|
\end{itemize}
|
|
\item Achsenskalierung und Ticks:
|
|
\begin{itemize}
|
|
\item Skalierung der Achsen (Minumum und Maxmimum, logarithmisch oder linear).
|
|
\item Manuelles Setzen der Ticks, ihrer Richtung und Beschriftung.
|
|
\item Grid or no Grid?
|
|
\end{itemize}
|
|
\item Setzen von globalen Parametern:
|
|
\begin{itemize}
|
|
\item Einstellung der Papiergr\"o{\ss}e und plzieren der
|
|
Zeichenfl\"ache.
|
|
\item Soll die Zeichenfl\"ache auf allen vier Seiten von einer Box eingeschlossen sein oder nicht?
|
|
\item Speichern der Abbildung als pdf.
|
|
\end{itemize}
|
|
\end{enumerate}
|
|
|
|
\subsection{Globale Einstellungen}
|
|
|
|
\TODO
|
|
|
|
Das folgende Listing \ref{niceplotlisting} zeigt das Skript, das die
|
|
Abbildung \ref{spikedetectionfig} erstellt und speichert. Abh\"angig
|
|
davon, ob man Eigenschaften der Abbildung oder der Achsen setzen will
|
|
benutzt man die \code{set} Funktion und \"ubergibt ihr ein sogenanntes
|
|
Handle der Achse oder der Abbildung und sowohl den Namen als auch den
|
|
gew\"unschten Wert der Eigenschaft: \code{set(gcf, 'PaperUnits',
|
|
'centimeters')} setzt die Eigenschaft ``PaperUnits'' der Abbildung
|
|
auf ``centimeters''. (Standard Einheit ist, nat\"urlich, ``inches''.)
|
|
\code{gcf} steht f\"ur ``get current figure'' und stellt ein Handle
|
|
der aktuellen Abbildung zur Verf\"ugung. Um Eigenschaften der Achse zu
|
|
setzten benutzt man: \code{set(gca, 'linewidth', 1.5)} wobei
|
|
\code{gca} f\"ur ``get current axis'' steht. Wenn man den Namen einer
|
|
Eigenschaft nicht kennt, kann man entweder in der Hilfe nachschlagen
|
|
oder sie im ``Property Editor'' finden.
|
|
|
|
\begin{lstlisting}[caption={Skript zur Erstellung des Plots in Abbildung \ref{spikedetectionfig}.}, label=niceplotlisting]
|
|
fig = figure();
|
|
set(gcf, 'PaperUnits', 'centimeters', 'PaperSize', [11.7 9.0]);
|
|
set(gcf, 'PaperPosition',[0.0 0.0 11.7 9.0], 'Color', 'white')
|
|
hold on
|
|
plot(time, neuronal_data, 'color', [ 0.2 0.5 0.7], 'linewidth', 1.)
|
|
plot(spike_times, ones(size(spike_times))*threshold, 'ro', 'markersize', 4)
|
|
line([time(1) time(end)], [threshold threshold], 'linestyle', '--',
|
|
'linewidth', 0.75, 'color', [0.9 0.9 0.9])
|
|
ylim([0 35])
|
|
xlim([0 2.25])
|
|
box('off')
|
|
xlabel('time [s]', 'fontname', 'MyriadPro-Regular', 'fontsize', 10)
|
|
ylabel('potential [mV]', 'fontname', 'MyriadPro-Regular', 'fontsize', 10)
|
|
title('pyramidal cell', 'fontname', 'MyriadPro-Regular', 'fontsize', 12)
|
|
set(gca, 'TickDir','out', 'linewidth', 1.5, 'fontname', 'MyriadPro-Regular')
|
|
saveas(fig, 'spike_detection.pdf', 'pdf')
|
|
\end{lstlisting}
|
|
|
|
\begin{figure}
|
|
\includegraphics[width=0.5\columnwidth]{./images/spike_detection}
|
|
\caption{\textbf{Annehmbarer Plot.} Dieser Plot wurde vollst\"andig
|
|
mit dem Skript in Listing \ref{niceplotlisting} erstellt und
|
|
gespeichert.}\label{spikedetectionfig}
|
|
\end{figure}
|
|
|
|
|
|
Neben den Standard Linienplots gibt es eine ganze Reihe weiterer
|
|
M\"oglichkeiten Daten zu Visualisieren. Mathworks zeigt unter
|
|
\url{http://www.mathworks.de/discovery/gallery.html} viele Beispiele
|
|
mit zugeh\"origem Code.
|
|
|
|
\subsection{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 man
|
|
verschiedene Linienplots in einen Graphen plottet, sollte man neben
|
|
der Farbe auch den Linienstil (durchgezogen, gepunktet, gestrichelt,
|
|
etc.) variieren um auch im Schwarz-Wei{\ss}-Druck eine Unterscheidung zu
|
|
erm\"oglichen. Bei der Farbwahl sollte man auf Kombinationen aus Rot
|
|
und Gr\"un verzichten, da sie f\"ur einen nicht unwesentlichen Teil
|
|
der m\"annlichen Bev\"olkerung nicht unterscheidbar sind. Man achte
|
|
insbesondere auf:
|
|
\begin{enumerate}
|
|
\item Klarheit.
|
|
\item Vollstaendige 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{enumerate}
|
|
|