diff options
author | Norbert Preining <norbert@preining.info> | 2022-09-11 03:01:50 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-09-11 03:01:50 +0000 |
commit | bb79bee25708a6a19a8fc4f1edb988b74b08d292 (patch) | |
tree | 2b91c8ca273490a16aeae08a473bd97b17f38f6a /graphics/pstricks/contrib/pst-bar/pst-bar-docDE.tex | |
parent | 0948049e9079ec6f512bf68a247495f36237d06e (diff) |
CTAN sync 202209110301
Diffstat (limited to 'graphics/pstricks/contrib/pst-bar/pst-bar-docDE.tex')
-rw-r--r-- | graphics/pstricks/contrib/pst-bar/pst-bar-docDE.tex | 736 |
1 files changed, 0 insertions, 736 deletions
diff --git a/graphics/pstricks/contrib/pst-bar/pst-bar-docDE.tex b/graphics/pstricks/contrib/pst-bar/pst-bar-docDE.tex deleted file mode 100644 index d053993e86..0000000000 --- a/graphics/pstricks/contrib/pst-bar/pst-bar-docDE.tex +++ /dev/null @@ -1,736 +0,0 @@ -%% $Id: pst-bar-doc.tex 63 2008-11-26 18:00:46Z herbert $ -%% geaendert am 7.2.09 ch. roemer -\documentclass[11pt,ngerman,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings - headexclude,footexclude,oneside]{pst-doc} -\listfiles - -\usepackage[T1]{fontenc} -\usepackage[ansinew]{inputenc} -\usepackage{babel} - -\usepackage{pst-bar}% -\let\pstBarVersion\fileversion -\usepackage{booktabs}% -\usepackage{filecontents}% -\usepackage{verbatim}% -\makeatletter -\def\kernhack#1#2{% - \begingroup - \setbox\z@\hbox{#1#2}% - \dimen@\wd\z@ - \setbox\z@\hbox{#1{}#2}\advance\dimen@-\wd\z@ - \ifdim\dimen@=\z@\else\kern\dimen@\fi - \endgroup -} -\def\switch#1#2{% - \begingroup - \def\@switch##1#1##2\@nil#1##3\@stop{% - \def\reserved@a{##3}% - \ifx\reserved@a\@empty#2\else - \setbox\z@\hbox{##1#1}% - \setbox\tw@\hbox{\kernhack{#1}{##2}\switch{#1}{##2}}% - \dimen@\wd\tw@\advance\dimen@\wd\z@% - \wd\z@\dimen@% - \rlap{\hb@xt@\dimen@{\hfil\unhbox\tw@}}% - \box\z@ - \fi - }% - \@switch#2\@nil#1\@nil#1\@stop - \endgroup -} -% Given an e-mail address of the form abc@def.ghi.jkl, reverses it to be jkl -% ghi. def. abc@ -\def\switchemail#1{\expandafter\@switchemail#1\@stop} -% Helper function for \switchemail. Note the \copy, because \kernhack will -% destroy the box otherwise. Need to do some funky stuff because of catcodes. -\begingroup -\makeatother -\def\tmp#1#2#3{% - \gdef#1##1@##2#2{% - \begingroup - \setbox#3\hbox{\switch{.}{##2}}% - \switch{@}{##1@\copy#3}% - \endgroup - }% -} -\makeatletter -\tmp\@switchemail\@stop\@tempboxa -\endgroup -\makeatother - -\usepackage[T1]{fontenc}% - -\begin{filecontents*}{example1.csv} - Set 1, Set 2, Set 3 - 1, 2, 3 - 1, 2, 3 -\end{filecontents*} - -\begin{filecontents*}{example2.csv} - Set 1, Set 2, Set 3 - 1, 2, 3 - 0.5, 1.5, 1 -\end{filecontents*} - -\begin{filecontents*}{example3.csv} - Set 1, Set 2, Set 3 - 1, 2, 3 - 0.5, 1.5, 1 - 0.75, 1.6, 0.9 - 0.9, 2.2, 2.5 -\end{filecontents*} - -\begin{filecontents*}{example4.csv} - Set 1, Set 2, Set 3 - 1, 0, 3 -\end{filecontents*} - -\begin{filecontents*}{example5.csv} - 0, 2, 0 -\end{filecontents*} - -\begin{filecontents*}{example6.csv} - Set 1, Set 2, Set 3 - 1.3, 2.5, 0.9 -\end{filecontents*} - -\begin{filecontents*}{example7.csv} - 0.7, 1.9, 0.4 - 1.2, 2.7, 1.4 -\end{filecontents*} - -\begin{document} -\title{\texttt{pst-bar}\\ Balken- und Säulendiagramme mit \texttt{pstricks}\\ - {\small v.\pstBarVersion}} -\author{Alan Ristow} -\docauthor{Alan Ristow\\Herbert Vo\ss\\Juliane Horn (\"Ubersetzung)} -\date{\today} -\maketitle - - \begin{abstract} - Mithilfe von \LPack{pst-bar} kann man \LPack{pstricks} verwenden, um Balkendiagramme - direkt aus einer Daten-Datei zu erzeugen. Dieses Paket befindet sich allerdings noch im - Beta-Stadium -- die üblichen Warnungen bezüglich Beta-Software treffen - daher zu. Es wird zusätzliche Merkmale und verbesserte Dokumentationen (den Inhalt - sowie die Ausstattung betreffend) geben, wenn sich der Code stabilisiert. - \end{abstract} - -\section{Einführung} - Aufgrund der Leistung und Flexibilität von \LPack{pstricks} [1] ist es möglich, mit - \LPack{pst-bar} Balkendiagramme zu erstellen, deren Einzelheiten in einer - mit Komma abgetrennten Datei gespeichert sind. - Es gibt mehrere Lösungen, um Säulendiagramme in \TeX\ und \LaTeX\ - - Dokumenten zu "`zeichnen"'. - Die offensichtliche Lösung ist, ein externes Programm wie \Index{gnuplot} - oder \Index{Matlab} zu verwenden, das Balkendiagramme in einem Format speichert, welches - direkt von \TeX\ oder \LaTeX\ gelesen werden kann. Diese Methode hat den Nachteil, dass - zusätzlicher Aufwand nötig ist, um den Diagrammen ein einheitliches Erscheinungsbild zu - geben, welches zu anderen Grafiken im Dokument passt. In vielen Fällen kann der Diagrammtext - von \LaTeX\ mithilfe der Pakete \LPack{psfrag} oder \verb|psfragx| eingefügt werden - (das Matlab-Programm \Index{LaPrint} kann diesen Prozess bei Matlab-Diagrammen - beschleunigen, da es speziell für diesen Zweck entwickelt wurde [2]). Jedoch schreiben - einige Programme die Textelemente in EPS (Encapsulated Postscript)-Dateien, sodass die - Optionen von \LPack{psfrag} nicht funktionieren. - -Balkendiagramme können aber auch mit den eingebauten Zeichenwerkzeugen in -\TeX\ und \LaTeX\ gezeichnet werden. Dafür wird das \LPack{histogr} Paket [3] verwendet, -welches neben Histogrammen auch sehr einfache Balkendiagramme erstellen kann. Es scheint eine -Annäherung an das \LPack{bar} Paket [4] für \LaTeX\ 2.09 zu sein, da es eine neue Umgebung -für das Zeichnen von Säulendiagrammen definiert. Allerdings sind die eingebauten -Zeichenwerkzeuge begrenzt und die Arbeit am \LPack{bar} Paket wurde wohl nach 1994 beendet. - -Es wurden technisch verfeinerte Zeichenwerkzeuge für \TeX\ und -\LaTeX\ entwickelt; die bekanntesten sind \verb|eepic|, \verb|texdraw| und \verb|latexdraw|, -\verb|LaTeXPiX|, MetaPost, \LPack{mfpic}, und \LPack{pstricks}. Mit jedem dieser Mittel -können Balkendiagramme gesetzt werden; jedoch besitzt keines eine eingebaute Unterstützung -für diese, sodass die Diagramme mit der "`Brachialgewalt"'--Methode angefertigt werden -müssen, das -bedeutet ein manuelles Einzeichnen von Kästen, welche die Balken im Diagramm -darstellen. Je nach Werkzeug kann es sein, dass auch die Achsen manuell eingezeichnet -werden müssen. Das \LPack{pst-bar} Paket soll den Prozess des Zeichnens von Balken- und -Säulendiagrammen unter Verwendung von \LPack{pstricks} automatisieren. - -Derzeit gibt es zwei Möglichkeiten für die Erstellung von Balkendiagrammen mit -\verb|pstricks|. Die Erste ist die oben genannte Brachialgewalt-Methode, bei der eine Reihe -von -\Lcs{psframe}s mit passenden Höhen, Breiten und Farben gezeichnet werden, um zum gewünschten -Ergebnis zu gelangen [5]. Zwar ist diese Möglichkeit vortrefflich und bietet den größten -Spielraum, allerdings ist sie mühsam und arbeitsintensiv. Die zweite Option ist das -\LPack{bardiag} Paket; es automatisiert im Wesentlichen [6] die Vorgehensweise mit brachialer -Gewalt im. -Dieser Ansatz ist wirkungsvoll, jedoch benötigt \LPack{bardiag} zahlreiche externe Pakete. -Weiterhin verwendet es \LaTeX\ , um mathematische Befehle durchzuführen und es ist nicht -kompatibel mit dem normalen \TeX. - -Durch \LPack{pst-bar} werden diese Probleme vermieden. Es beruft sich ausschließlich auf -Pakete der \verb|pstricks|-Familie, stellt umfassende Anpassungsfunktionen zur Verfügung, -baut auf Postscript für fast alle mathematischen Operationen und sollte mit dem einfachen -\TeX\ kompatibel sein (bisher ungetestet). Damit Balkendiagramme angefertigt und beschriftet -werden können, benutzt \verb|pst-bar| Befehle, um die Angaben der durch Komma -abgegrenzten Datei zu lesen. Vielfache Datenreihen können dabei entweder gesammelt oder -gestapelt grafisch dargestellt werden; die Balken können horizontal oder vertikal -eingezeichnet werden. Eine zusätzliche Option ermöglicht es, Blockdiagramme zu erzeugen, -welche die Unterschiede zwischen den nachfolgenden Reihen von Daten in der Datendatei zeigen -(siehe auch Kapitel ~\ref{sec:block}). - -Zu diesem Zeitpunkt sollte \verb|pst-bar| noch als Beta-Software betrachtet werden. Es wird -nicht garantiert, dass die Änderungen am Code, welche zwischen dieser Ausgabe und der ersten -dauerhaften Ausgabe auftreten, auch rückwärts kompatibel sind. - -\section{Erstellen von Balken- und Säulendiagrammen} -Das Zeichnen von Balkendiagrammen mit \verb|pst-bar| erfolgt in drei Schritten: -(i) Lesen der Datendatei, (ii) Zeichnen der Balken und (iii) Einzeichnen der Achsen. Die -ersten beiden Schritte erfolgen direkt durch \verb|pst-bar|. Für den dritten ist das -\LPack{pst-plot} Paket notwendig, das fester Bestandteil von \verb|pstricks| ist. - -Die folgenden Abschnitte befassen sich mit dem Format der Datendatei, mit dem Laden von Daten -aus der Datei und mit dem Erstellen eines Balkendiagramms mithilfe dieser Daten. - -\subsection{Format der Datendatei} -Die Datei mit den Daten muss durch Komma begrenzt sein und jede Reihe muss die gleiche Anzahl -an Einträgen enthalten. Eine Kopfzeile ist erlaubt, aber kein Eintrag in dieser Zeile darf -Kommas oder \Lcs{par} Befehle beinhalten (gilt ebenso für \verb|\\|). Eine der Dateien, -welche für diese Dokumentation benutzt werden, sieht so aus: \verbatiminput{example1.csv}% -In diesem Fall sind \verb|Set 1|, \verb|Set 2|, und \verb|Set 3| die Kopfzeilen. Die -nachfolgenden Reihen, später als \emph{data rows} gekennzeichnet, umfassen die Daten, die mit -den Überschriften verknüpft werden. Die Datei wird in einem säulenähnlichen Stil angeordnet, -sodass man mit \verb|Set 1| die Daten \verb|1| und \verb|1| verbindet, mit \verb|Set 2| die -Daten \verb|2| und \verb|2| und so weiter. Zuerst werden die Daten grafisch dargestellt und -anschließend mit dem Text der Kopfzeile beschriftet. - -\emph{Achtung!} Es gibt zwei sehr wichtige Bedingungen für die Daten innerhalb der Datei: -\begin{itemize} - \item Alle Daten außerhalb der Kopfzeile müssen numerisch sein. Falls keine Kopfzeile - vorhanden ist, müssen alle Daten der Datei numerisch sein. - \item Jede Zeile muss dieselbe Anzahl von Einträgen haben. -\end{itemize} -Werden diese Bedingungen nicht eingehalten, können Postscript-Fehler oder (seltener) falsch -beschriftete oder gezeichnete Balkendiagramme die Folge sein. - -Wie diese Dateien grafisch dargestellt werden, hängt von der Art des gewünschten Diagramms -ab. Siehe dazu Kapitel ~\ref{sec:cluster} -- \ref{sec:block} und die Beispiele in -Kapitel~\ref{sec:examples}. - -\subsection{Lesen der Datendatei} -Der Befehl \verb|\readpsbardata| liest die Datei: -\begin{verbatim} - \readpsbardata[<options>]{<data>}{<filename>} -\end{verbatim} -Geben Sie für die Daten einen Makro-Namen an, den Sie noch nicht benutzen. - -Die verfügbaren Optionen sind: -\begin{center} -\begin{tabular}{ll} -\toprule -Parameter & Definition\\ -\midrule -\Lkeyword{header} & \verb|true|, wenn die erste Zeile der Datei eine Kopfzeile ist\\ - & \verb|false|, wenn \verb|true| nicht zutrifft\\ - & Standard: \verb|true|\\ -\bottomrule -\end{tabular} -\end{center} - -Setzt man \verb|header| auf \verb|false|, so geht \verb|pst-bar| davon aus, dass kein -header (Kopfzeile) existiert und die erste Zeile wird als Daten-Zeile angesehen. - -\subsection{Einzeichnen der Balken} -\label{sec:drawing_bars}% -Der Befehl \verb|\psbarchart| zeichnet die Balken für das Diagramm. -\begin{verbatim} - \psbarchart[<options>]{<data>} -\end{verbatim} -Für \verb|<data>| verwenden Sie bitte den Makro-Namen, den Sie bei \Lcs{readpsbardata} -ausgewählt hatten. -Die Säulen werden in Spalten eingeteilt, die eine \Lcs{psxunit} breit sind. Die Anzahl der -Säulen in einer Spalte entspricht dabei der Zahl der Datenreihen in einer Datei. Die -Unterseite jeder Spalte wird mit den Überschriften (header) der Datei beschriftet, wenn man -bei \Lcs{readpsbardata} für \Lkeyword{header} \verb|true| angegeben hat. Allerdings -wird nur die Balken- und Säulenbeschriftung erstellt -- der Rahmen und die Achsen müssen extra -bestimmt werden. - -Die verfügbaren Optionen sind: -\begin{center} -\begin{tabular}{ll} -\toprule -Parameter & Definition\\ -\midrule -\Lkeyword{chartstyle} & \Lkeyval{cluster} erzeugt eine Gruppe von Balken\\ - & \Lkeyval{stack} sammelt die Gruppen in einer Einzelspalte\\ - & \Lkeyval{block} erstellt einen schwebenden Balken (Minimum ist nicht 0)\\ - & Standard: \Lkeyval{cluster}\\ - \Lkeyword{barstyle} & Name(n) des Balken-Stils für jeden Balken\\ - & Standard: \verb|{black,darkgray,gray,lightgray,white,red,green,blue}|\\ - \Lkeyword{barcolsep} & beeinflusst den Zwischenraum zwischen den Spalten\\ - & Standard: \verb|0.4|\\ - \Lkeyword{barsep} & beeinflusst den Zwischenraum zwischen den Balken \\ - & (\Lkeyval{cluster} und \Lkeyval{block} Diagramme)\\ - & Standard: \verb|0.0|\\ - \Lkeyword{barlabelrot} & Drehwinkel der Spaltenbeschriftung\\ - & Standard: \verb|0|\\ - \Lkeyword{orientation} & \Lkeyval{vertical} für vertikal gezeichnete Balken\\ - & \Lkeyval{horizontal} für horizontal gezeichnete Balken\\ - & Standard: \Lkeyval{vertical}\\ -\bottomrule% -\end{tabular} -\end{center} - -Die Anzahl der angegebenen \verb|barstyle|s muss der Anzahl von Balken in jeder Spalte -entsprechen oder größer als diese sein. Andernfalls entsteht ein Postcript-Fehler. Bei den -\Lkeyval{cluster} und \Lkeyval{stack} \verb|chartstyle|s entspricht dies den Datenreihen in -der Datei; beim \Lkeyval{block} \verb|chartstyle| entspricht es der halben Anzahl -der Datenreihen. Außerdem ist bei der Angabe der \verb|barstyle|s darauf zu achten, dass die -Stile in geschweiften Klammern angegeben werden, wie z.\,B.: -\begin{BDef} -\Lcs{psbarchart}\OptArgs\Largb{\ldots} -\end{BDef} - -Die verfügbaren \Lkeyword{barstyle}s sind standardmäßig \Lkeyval{red}, \Lkeyval{green}, -\Lkeyval{blue}, \Lkeyval{black}, \Lkeyval{white}, \Lkeyval{gray}, \Lkeyval{lightgray}, -und \Lkeyval{darkgray}. Jeder davon erzeugt einen Balken in der angegebenen Farbe mit -rechtwinkligen Ecken und schwarzem Umriss. Mit dem Befehl \Lcs{newpsbarstyle} können -zusätzlich neue \Lkeyword{barstyle}s definiert werden, siehe dazu -Kapitel ~\ref{sec:customizing}. - -Abbildung ~\ref{fig:bar_layout} zeigt, wie \Lcs{psbarchart} die Balken im -Standard-\Lkeyword{chartstyle}, \Lkeyval{cluster}, anlegt. Beim \Lkeyval{stack} -\Lkeyword{chartstyle} wird die \Lkeyword{barsep} Option nicht berücksichtigt. - -\begin{figure}[t] - \centering% - \begin{pspicture}(0,0)(4in,2in)% - \psframe[linestyle=dashed](0,0)(4in,2in)% - \psframe[linestyle=none,fillstyle=hlines,hatchangle=45,% - hatchcolor=lightgray,hatchwidth=0.4pt,hatchsep=8pt](0,0)(1in,2in)% - \psframe[fillcolor=darkgray,fillstyle=solid](0.2in,0in)(0.45in,0.8in)% - \psframe[fillcolor=lightgray,fillstyle=solid](0.55in,0in)(0.8in,1.1in)% - \psline[linestyle=dotted](1in,0in)(1in,2in)% - \psframe[fillcolor=darkgray,fillstyle=solid](1.2in,0in)(1.45in,0.6in)% - \psframe[fillcolor=lightgray,fillstyle=solid](1.55in,0in)(1.8in,0.4in)% - \psline[linestyle=dotted](2in,0in)(2in,2in)% - \psframe[fillcolor=darkgray,fillstyle=solid](2.2in,0in)(2.45in,0.4in)% - \psframe[fillcolor=lightgray,fillstyle=solid](2.55in,0in)(2.8in,0.3in)% - \psline[linestyle=dotted](3in,0in)(3in,2in)% - \psframe[fillcolor=darkgray,fillstyle=solid](3.2in,0in)(3.45in,1.1in)% - \psframe[fillcolor=lightgray,fillstyle=solid](3.55in,0in)(3.8in,0.9in)% - \rput[b](0.5in,1.8in){\small$\mathtt{\backslash psxunit}$}% - \psline{->}(0.2in,1.87in)(0in,1.87in)% - \psline{->}(0.8in,1.87in)(1in,1.87in)% - \psline(0.45in,0.85in)(0.45in,1.3in)% - \psline(0.55in,1.15in)(0.55in,1.3in)% - \rput[l](0.8in,1.25in){\small$\mathtt{barsep} \times - \mathtt{\backslash psxunit}$}% - \psline{->}(0.75in,1.25in)(0.55in,1.25in)% - \psline{->}(0.25in,1.25in)(0.45in,1.25in)% - \psline{->}(0.6in,0.9in)(0.8in,0.9in)% - \psline{->}(1.2in,0.9in)(1in,0.9in)% - \rput[l](1.25in,0.9in){\small$0.5 \times \mathtt{barcolsep} \times - \mathtt{\backslash psxunit}$}% - \end{pspicture} - \caption{\label{fig:bar_layout}% -Schematische Darstellung für das Layout des Balkendiagramms. Die schraffierte Fläche markiert -den Bereich, in dem die Daten der ersten Spalte der Datei dargestellt sind. Die Breite der -Balken entspricht $[(1 - \mathtt{barsep} - 0.5 \times \mathtt{barcolsep}) \times -\mathtt{\backslash psxunit}] / N$, wobei $N$ für die Anzahl der Balken in einer Spalte -steht.}% -\end{figure} - -\subsection{Anpassung des Diagramms}\label{sec:customizing}% -Um einen angefertigten Balkentyp hinzuzufügen, ist der Befehl \Lcs{newpsbarstyle} zu -verwenden: -\begin{BDef} -\Lcs{newpsbarstyle}\Largb{<name>}\Largb{<definition>} -\end{BDef} -Diese Bezeichnung ist eine Textfolge, die derzeitig von keinem anderen \Lkeyword{barstyle} -verwendet wird. Die Definition kann sich aus jedem \LPack{pstricks} Schlüssel bzw. aus jeder -Gruppe von Schlüsseln ergeben, die mit \Lcs{psframe} anwendbar sind. Zum Beispiel wird -\Lkeyval{red} \Lkeyword{barstyle} wie folgt definiert: -\begin{BDef} -\Lcs{newpsbarstyle}\Largb{red}\Largb{\Lkeyset{fillcolor=red},\Lkeyset{fillstyle=solid}, -\Lkeyword{framearc}=0} -\end{BDef} - -Um den Typ, mit dem die Spaltenbezeichnungen festgelegt werden, anzupassen, wird -\Lcs{psbarlabel} neu definiert. Wenn die Beschriftung aus kleinen Kursivbuchstaben bestehen -soll, sieht diese so aus: -\begin{BDef} -\LcsStar{renewcommand}\Lcs{psbarlabel}\Largb{\small\itshape} -\end{BDef} -Üblicherweise erstellt \Lcs{psbarlabel} die Spaltenbeschriftung in der aktuellen Schriftart. - -Um den Abstand zwischen den Säulen und der Spaltenbeschriftung zu regulieren, wird -\Lcs{psbarlabelsep} neu definiert. Dabei ist es als Befehl, nicht als Umfang, definiert und -muss daher mit \Lcs{renewcommand*} wiederdefiniert werden. Als Standard benutzt man \verb|0pt|. - -Am Ende ist es möglich, die Daten der Datei mit \Lcs{psbarscale} anzupassen und zu -manipulieren, wie z.\,B. -\begin{BDef} -\Lcs{psbarscale}\Largr{<scale>}\Largb{<Postscript code>} -\end{BDef} -welches von Herbert Vo\ss' \verb|\pstScale| aus \LPack{pstricks-add} beeinflusst wurde [7]. -Die Daten werden durch den Wert in Klammern eingestuft und können im Weiteren mit dem -Postscript Code gesteuert werden. Für den Fall, dass man den Logarithmus der eingegebenen -Daten grafisch darstellen will, würde man \Lcs{psbarscale}\Largr{1}\Largb{log} benutzen. -Der Postscript Code bezieht sich auf die Daten vor der Skalierung. - -\section{Die Arten von Diagrammen} -Wie bereits in ~\ref{sec:drawing_bars} beschrieben, gibt es drei verschiedene Möglichkeiten -für den Parameter \Lkeyword{chartstyle}. Der Standard-Typ \Lkeyval{cluster} ist ein -allgemeines Balkendiagramm, bei dem die Balken aufgrund ähnlicher Daten gruppiert werden. Die -zweite Option, \Lkeyval{stack}, zeichnet eine Reihe von Säulen aufeinander gestapelt, statt -sie nebeneinander in einer Gruppe anzuordnen. Benutzt man \Lkeyval{block}, die dritte -Alternative, so werden angehäufte Balken zwischen zwei Datenpunkten eingezeichnet und somit -eine Spanne von Werten anstelle eines einzelnen Wertes veranschaulicht. - -Die folgenden Abschnitte beschreiben jeden \Lkeyword{chartstyle} im Detail und erklären, wie -die Eingabedaten verwendet werden. Zusätzlich werden für jeden Fall Muster -gezeigt. Im Kapitel ~\ref{sec:examples} sind vollständige Beispiele einschließlich der Achsen -aufgezeigt. - -\subsection{\texttt{cluster}}\label{sec:cluster}% -In einem \Lkeyval{cluster} Diagramm wird jede Variable in einer Reihe, die durch Kommas -getrennt ist, als ein Balken in einer einzelnen Spalte dargestellt. Jede Reihe steht daher -für eine neue Balkeneinheit. Die Datei -\verbatiminput{example1.csv}% -erzeugt nachstehendes Diagramm: - - \hfill% - \begin{minipage}[b]{1.5in}% - \psset{unit=0.5in}% - \begin{pspicture}(0,-0.5)(3,3)% - \readpsbardata{\data}{example1.csv}% - \psbarchart[barstyle={red,blue}]{\data}% - \end{pspicture} - \end{minipage}% - \hfill% - \begin{minipage}[b][1.75in][c]{3.5in}% - \begin{verbatim} -\psset{unit=0.5in}% -\begin{pspicture}(0,-0.5)(3,3)% - \readpsbardata{\data}{example1.csv}% - \psbarchart[barstyle={red,blue}]{\data}% -\end{pspicture}\end{verbatim} - \end{minipage}% - \hfill% - -\subsection{\texttt{stack}} -Bei einem \Lkeyval{stack} Diagramm befindet sich in jeder Spalte lediglich ein Balken. Dieser -eine Balken besteht aus so vielen Abschnitten, wie die Datendatei Reihen hat. Jede Reihe wird -auf die Oberkante der Vorigen "`gestapelt"'. Die Datei -\verbatiminput{example2.csv}% -erzeugt folgendes Diagramm:\\ -\vspace*{.5cm}\\ - \hfill% - \begin{minipage}[b]{1.5in}% - \psset{unit=0.5in}% - \begin{pspicture}(0,-0.5)(3,4)% - \readpsbardata{\data}{example2.csv}% - \psbarchart[barstyle={red,blue},chartstyle=stack]{\data}% - \end{pspicture} - \end{minipage} - \hfill% - \begin{minipage}[b][2.25in][c]{3.5in}% - \begin{verbatim} -\psset{unit=0.5in}% -\begin{pspicture}(0,-0.5)(3,4)% - \readpsbardata{\data}{example2.csv}% - \psbarchart[barstyle={red,blue},% - chartstyle=stack]{\data}% -\end{pspicture}\end{verbatim} - \end{minipage} - \hfill% - -Beachten Sie, dass diese Säulen hier breiter sind als bei -\Lkeyset{chartstyle=cluster}, da sie bei \Lkeyval{stack} vertikal aufeinander gestapelt -werden, bei \Lkeyval{cluster} allerdings horizontal nebeneinander auf der x-Achse angeordnet -sind. Um eine ähnliche Balkenbreite wie im \Lkeyval{cluster} - Diagramm zu erhalten, stellt -man \Lkeyword{xunit}\verb|=0.25in| ein. - -\subsection{\texttt{block}}\label{sec:block}% -In einem \verb|block| Diagramm kann an jedem Balken eine Reihe von Werten abgelesen werden. -Daher benötigt jede Säule zwei Datenlinien aus der Datei, eine für die Markierung der oberen -und eine für die Markierung der unteren Grenze. Gibt es mehrere Paare von Datenlinien, werden -sie gesammelt dargestellt. Existiert eine ungerade Anzahl von Datenreihen, so wird die letzte -nicht beachtet. -\vspace*{.5cm} - -Aus: \verbatiminput{example3.csv}% -entsteht dieses Diagramm: - - \hfill% - \begin{minipage}[b]{1.5in}% - \psset{unit=0.5in}% - \begin{pspicture}(0,-0.5)(3,3.5)% - \readpsbardata{\data}{example3.csv}% - \psbarchart[barstyle={red,blue},chartstyle=block]{\data}% - \end{pspicture} - \end{minipage}% - \hfill% - \begin{minipage}[b][1.5in][c]{3.5in}% - \begin{verbatim} -\psset{unit=0.5in}% -\begin{pspicture}(0,-0.5)(3,3.5)% - \readpsbardata{\data}{example3.csv}% - \psbarchart[barstyle={red,blue},% - chartstyle=block]{\data}% -\end{pspicture}\end{verbatim} - \end{minipage} - -\section{Beispiele}\label{sec:examples}% -Grundlegende Beispiele für jeden Typ einschließlich Achsen und Gitternetzlinien: - - \begin{verbatim} -\begin{filecontents*}{example2.csv} - Set 1, Set 2, Set 3 - 1, 2, 3 - 0.5, 1.5, 1 -\end{filecontents*}\end{verbatim} - - \hfill% - \begin{minipage}[b]{1.5in}% - \psset{unit=0.5in}% - \begin{pspicture}(0,-0.5)(3,4.5)% - \psgrid[xunit=1.5in,gridlabels=0,subgriddiv=0,griddots=30](0,0)(1,4)% - \psaxes[axesstyle=frame,Ox=0,Dx=1,labels=y,ticks=y](0,0)(3,4)% - \readpsbardata{\data}{example2.csv}% - \psbarchart[barstyle={red,blue}]{\data}% - \end{pspicture} - \end{minipage}% - \hfill% - \begin{minipage}[b][2.25in][c]{3.5in}% - \begin{verbatim} -\psset{unit=0.5in}% -\begin{pspicture}(0,-0.5)(3,4.5)% - \psgrid[xunit=1.5in,gridlabels=0,% - subgriddiv=0,griddots=30](0,0)(1,4)% - \psaxes[axesstyle=frame,Ox=0,Dx=1,labels=y,% - ticks=y](0,0)(3,4)% - \readpsbardata{\data}{example2.csv}% - \psbarchart[barstyle={red,blue}]{\data}% -\end{pspicture}\end{verbatim} - \end{minipage} - - \hfill% - \begin{minipage}[b]{1.5in}% - \psset{unit=0.5in}% - \begin{pspicture}(0,-0.5)(3,4.5)% - \psgrid[xunit=1.5in,gridlabels=0,subgriddiv=0,griddots=30](0,0)(1,4)% - \psaxes[axesstyle=frame,Ox=0,Dx=1,labels=y,ticks=y](0,0)(3,4)% - \readpsbardata{\data}{example2.csv}% - \psbarchart[barstyle={red,blue},chartstyle=stack]{\data}% - \end{pspicture} - \end{minipage}% - \hfill% - \begin{minipage}[b][2.25in][c]{3.5in}% - \begin{verbatim} -\psset{unit=0.5in}% -\begin{pspicture}(0,-0.5)(3,4.5)% - \psgrid[xunit=1.5in,gridlabels=0,% - subgriddiv=0,griddots=30](0,0)(1,4)% - \psaxes[axesstyle=frame,Ox=0,Dx=1,labels=y,% - ticks=y](0,0)(3,4)% - \readpsbardata{\data}{example2.csv}% - \psbarchart[barstyle={red,blue},% - chartstyle=stack]{\data}% -\end{pspicture}\end{verbatim} - \end{minipage} - - \hfill% - \begin{minipage}[b]{1.5in}% - \psset{unit=0.5in}% - \begin{pspicture}(0,-0.5)(3,4.5)% - \psgrid[xunit=1.5in,gridlabels=0,subgriddiv=0,griddots=30](0,0)(1,4)% - \psaxes[axesstyle=frame,Ox=0,Dx=1,labels=y,ticks=y](0,0)(3,4)% - \readpsbardata{\data}{example2.csv}% - \psbarchart[barstyle={red,blue},chartstyle=block]{\data}% - \end{pspicture} - \end{minipage}% - \hfill% - \begin{minipage}[b][2.25in][c]{3.5in}% - \begin{verbatim} -\psset{unit=0.5in}% -\begin{pspicture}(0,-0.5)(3,4.5)% - \psgrid[xunit=1.5in,gridlabels=0,% - subgriddiv=0,griddots=30](0,0)(1,4)% - \psaxes[axesstyle=frame,Ox=0,Dx=1,labels=y,% - ticks=y](0,0)(3,4)% - \readpsbardata{\data}{example2.csv}% - \psbarchart[barstyle={red,blue},% - chartstyle=block]{\data}% -\end{pspicture}\end{verbatim} - \end{minipage} - -Verwendung von \verb|\newpsbarstyle|: - - \hfill% - \begin{minipage}[b]{1.5in}% - \psset{unit=0.5in}% - \newpsbarstyle{yellowhatch}{framearc=0.5,fillstyle=hlines*,rot=45,fillcolor=yellow}% - \newpsbarstyle{redoutline}{framearc=0.5,fillcolor=black,linecolor=red,linewidth=1.5pt}% - \begin{pspicture}(0,-0.5)(3,4.5)% - \psgrid[xunit=1.5in,gridlabels=0,subgriddiv=0,griddots=30](0,0)(1,4)% - \psaxes[axesstyle=frame,Ox=0,Dx=1,labels=y,ticks=y](0,0)(3,4)% - \readpsbardata{\data}{example2.csv}% - \psbarchart[barstyle={yellowhatch,redoutline}]{\data}% - \end{pspicture} - \end{minipage}% - \hfill% - \begin{minipage}[b][2.75in][c]{3.5in}% - \begin{verbatim} -\psset{unit=0.5in}% -\newpsbarstyle{yellowhatch}{framearc=0.5,% - fillstyle=hlines*,rot=45,fillcolor=yellow}% -\newpsbarstyle{redoutline}{framearc=0.5,% - fillcolor=black,linecolor=red,% - linewidth=1.5pt}% -\begin{pspicture}(0,-0.5)(3,4.5)% - \psgrid[xunit=1.5in,gridlabels=0,% - subgriddiv=0,griddots=30](0,0)(1,4)% - \psaxes[axesstyle=frame,Ox=0,Dx=1,labels=y,% - ticks=y](0,0)(3,4)% - \readpsbardata{\data}{example2.csv}% - \psbarchart[barstyle={yellowhatch,% - redoutline}]{\data}% -\end{pspicture}\end{verbatim} - \end{minipage} - -\vspace*{2cm} - -Verwendung von \verb|[orientation=horizontal]|:\\ - - \hfill% - \begin{minipage}[b]{2in}% - \psset{unit=0.5in}% - \newpsbarstyle{yellowhatch}{framearc=0.5,fillstyle=hlines*,rot=45,fillcolor=yellow}% - \newpsbarstyle{redoutline}{framearc=0.5,fillcolor=black,linecolor=red,linewidth=1.5pt}% - \begin{pspicture}(0,-0.5)(4,3.5)% - \psgrid[yunit=1.5in,gridlabels=0,subgriddiv=0,griddots=30](0,0)(3,1)% - \psaxes[axesstyle=frame,Ox=0,Dx=1,labels=x,ticks=x](0,0)(3,3)% - \readpsbardata{\data}{example2.csv}% - \psbarchart[barstyle={yellowhatch,redoutline},orientation=horizontal]{\data}% - \end{pspicture} - \end{minipage}% - \hfill% - \begin{minipage}[b][2.75in][c]{3.5in}% - \begin{verbatim} -\psset{unit=0.5in}% -\newpsbarstyle{yellowhatch}{framearc=0.5,% - fillstyle=hlines*,rot=45,fillcolor=yellow}% -\newpsbarstyle{redoutline}{framearc=0.5,% - fillcolor=black,linecolor=red,% - linewidth=1.5pt}% -\begin{pspicture}(0,-0.5)(3,4.5)% - \psgrid[xunit=1.5in,gridlabels=0,% - subgriddiv=0,griddots=30](0,0)(1,4)% - \psaxes[axesstyle=frame,Ox=0,Dx=1,labels=y,% - ticks=y](0,0)(3,4)% - \readpsbardata{\data}{example2.csv}% - \psbarchart[barstyle={yellowhatch,% - redoutline}]{\data}% -\end{pspicture}\end{verbatim} - \end{minipage}\\ - -Komplexe Effekte sind unter mehrfacher Benennung von \Lcs{psbarchart} in einem einzelnen -Diagramm möglich. Zum Beispiel kann ein besonders wichtiger Balken in grün hervorgehoben -werden, indem man die Daten in zwei Dateien aufgespaltet. Eine enthält eine Null für den -Datenwert, der hervorgehoben werden soll und die andere enthält Nullen für alle anderen -Daten \emph{außer} der Hervorzuhebenden. - -\vspace*{2ex}% - -Datei 1 (\verb|example4.csv|): \verbatiminput{example4.csv}% - -Datei 2 (\verb|example5.csv|): \verbatiminput{example5.csv}% -Beachten Sie, dass die zweite Datei keine Kopfzeile hat, damit die Balkenbeschriftung nicht -doppelt erfolgt. - - \hfill% - \begin{minipage}[b]{1.5in}% - \psset{unit=0.5in}% - \begin{pspicture}(0,-0.5)(3,4.5)% - \psgrid[xunit=1.5in,gridlabels=0,subgriddiv=0,griddots=30](0,0)(1,4)% - \psaxes[axesstyle=frame,Ox=0,Dx=1,labels=y,ticks=y](0,0)(3,4)% - \readpsbardata{\data}{example4.csv}% - \psbarchart[barstyle={blue}]{\data}% - \readpsbardata[header=false]{\data}{example5.csv}% - \psbarchart[barstyle={green}]{\data}% - \end{pspicture} - \end{minipage}% - \hfill% - \begin{minipage}[b][2.25in][c]{3.5in}% - \begin{verbatim} -\psset{unit=0.5in}% -\begin{pspicture}(0,-0.5)(3,4.5)% - \psgrid[xunit=1.5in,gridlabels=0,% - subgriddiv=0,griddots=30](0,0)(1,4)% - \psaxes[axesstyle=frame,Ox=0,Dx=1,labels=y,% - ticks=y](0,0)(3,4)% - \readpsbardata{\data}{example4.csv}% - \psbarchart[barstyle={blue}]{\data}% - \readpsbardata[header=false]{\data}% - {example5.csv}% - \psbarchart[barstyle={green}]{\data}% -\end{pspicture}\end{verbatim} - \end{minipage} - -Verschiedene Diagrammarten können auch in einem Balkendiagramm kombiniert werden. - -\vspace*{.5cm}% - -Datei 1 (\verb|example6.csv|): \verbatiminput{example6.csv}% - -Datei 2 (\verb|example7.csv|): \verbatiminput{example7.csv}% - - \hfill% - \begin{minipage}[b]{1.5in}% - \psset{unit=0.5in}% - \begin{pspicture}(0,-0.5)(3,4.5)% - \psgrid[xunit=1.5in,gridlabels=0,subgriddiv=0,griddots=30](0,0)(1,4)% - \psaxes[axesstyle=frame,Ox=0,Dx=1,labels=y,ticks=y](0,0)(3,4)% - \readpsbardata{\data}{example6.csv}% - \psbarchart[barstyle={black}]{\data}% - \readpsbardata[header=false]{\data}{example7.csv}% - \psbarchart[barstyle={red},chartstyle=block,barcolsep=0.8]{\data}% - \end{pspicture} - \end{minipage}% - \hfill% - \begin{minipage}[b][2.25in][c]{3.5in}% - \begin{verbatim} -\psset{unit=0.5in}% -\begin{pspicture}(0,-0.5)(3,4.5)% - \psgrid[xunit=1.5in,gridlabels=0,% - subgriddiv=0,griddots=30](0,0)(1,4)% - \psaxes[axesstyle=frame,Ox=0,Dx=1,labels=y,% - ticks=y](0,0)(3,4)% - \readpsbardata{\data}{example6.csv}% - \psbarchart[barstyle={black}]{\data}% - \readpsbardata[header=false]{\data}% - {example7.csv}% - \psbarchart[barstyle={red},chartstyle=block,% - barcolsep=0.8]{\data}% -\end{pspicture} -\end{pspicture}\end{verbatim} - \end{minipage} - -\section{Tipps} -\begin{itemize} - \item Informieren Sie sich über Befehle, um die Erstellung und Platzierung der - Beschriftung zu erleichtern. - \item Erlauben Sie die automatische Beschriftung der Balken mit den Werten der Datendatei. - \item Erlauben Sie die automatische Beschriftung der Balken nach Ihrer Wahl. - \item Verbessern Sie die Syntaxanalyse der Überschrift, um Kommas zwischen den Einträgen - der Kopfzeile zu erlauben. - \item Fügen Sie eine Fehler-Überprüfung hinzu, um sicherzustellen, dass jede Reihe der - Datei dieselbe Anzahl an Einträgen enthält; falls nicht, wird der Fehler in \TeX\ - oder \LaTeX\ übertragen. - \item Verbessern Sie die Dokumentation. -\end{itemize} - -\nocite* -\bibliographystyle{plain}% -\bibliography{pst-bar-doc}% - -\printindex - - -\end{document} |