PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : latex-Berechnungen (für automatisches Histogramm)



Spindoctor
26-02-2009, 20:13
Hallo!

Diesmal hab ich glaub ich ein echt kompliziertes Problem...

Wie in diesem Thread (http://www.mrunix.de/forums/showthread.php?t=63597) beschrieben, versuche ich mit pstricks Histogramme zu erzeugen. Zunächst wollte ich die Daten, die den Histogrammen zu Grunde liegen, auch gleich in pstricks auswerten, das scheint aber nicht möglich zu sein???

Jdfs. habe ich die Daten nun mit [R] (http://www.r-project.org/) ausgewertet, und damit Textdateien erzeugt, die jeweils mehrere hundert Zeilen dieser Bauart enthalten

Beispiel - Daten

60 5633
70 4675
80 5199
90 5083
100 4352
110 4057Nun zu meinem Problem:
Ich muss sehr viele Histogramme dieser Art erstellen, und jedes der Histogramme hat unterschiedliche x- und y-Werte. Da auf jeden Fall damit zu rechnen ist, dass die x- und y-Werte sehr groß sind, müsste ich stets mittels \psset{xunit=...,yunit=...} die Grafik entsprechend skalieren. Außerdem muss die Achsenbeschriftung angepasst werden.

Diese Vorgänge würde ich gerne automatisieren.

So sieht ein Histogramm-Skelett aus, das im Prinzip lauffähig ist:

Beispiel - Histogramm-Skelett

%
% Histogramm
%
\documentclass{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[naustrian]{babel}

% Daten erzeugen
\usepackage{filecontents}

\begin{filecontents}{a1.txt}
1 5
2 4
3 8
4 9
8 8
\end{filecontents}
% Daten wurden erzeugt

\usepackage{pstricks}
\usepackage{pstricks-add}

\begin{document}
\readdata{\data}{a1.txt}

\begin{pspicture}(-1,-1)(11,11)
\psset{xunit=1,yunit=1}
\psaxes[Dx=1,Dy=1](10,10)
\listplot[plotstyle=bar]{\data}
\end{pspicture}
\end{document}Um den Vorgang zu automatisieren, würde ich aber so etwas brauchen:

Beispiel - Histogramm-Wunschvorstellung

%
% Histogramm
%
\documentclass{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[naustrian]{babel}

\usepackage{pstricks}
\usepackage{pstricks-add}

\begin{document}
\readdata{\data}{a1.txt}

\begin{pspicture}(-1,-1)(11,11)

% Variablen errechnen
\newcommand{\maxx}{ARGMAX-x-Werte aus data}
\newcommand{\maxy}{ARGMAX-y-Werte aus data}

\newcommand{\xunitvalue}{größter im pspicture definierter x-Wert/\maxx}
\newcommand{\yunitvalue}{größter im pspicture definierter y-Wert/\maxy}

\newcommand{\dxvalue}{\xunitvalue gerundet}
\newcommand{\dyvalue}{\yunitvalue gerundet}
% Variablen sind errechnet

\psset{xunit=\xunitvalue,yunit=\yunitvalue}
\psaxes[Dx=\dxvaue,Dy=\dyvalue](\maxx,\maxy)
\listplot[plotstyle=bar]{\data}
\end{pspicture}
\end{document}<argmax-x-werte aus="" data=""><argmax-y-werte aus="" data=""><größter im="" pspicture="" definierter="" x-wert=""><größter im="" pspicture="" definierter="" y-wert="">Die rot markierten Werte müsste ich erst ausrechnen und ich weiß nicht wie das geht.

Ist das möglich das zu machen?
</größter></größter></argmax-y-werte></argmax-x-werte>

mechanicus
26-02-2009, 20:21
Zunächst wollte ich die Daten, die den Histogrammen zu Grunde liegen, auch gleich in pstricks auswerten, das scheint aber nicht möglich zu sein???
Hallo,

bitte nicht falsch verstehen, möglich mit Sicherheit, Ich weiß leider gerade nur nicht wie.
Aber ich lese.

Gruß
Marco

Spindoctor
26-02-2009, 20:26
Danke, mechanicus!

Weiß das zu schätzen.

Hab natürlich auch schon im pstricks-manual und im pstricks-add-manual nachgelesen. Dort habe ich allerdings nichts diesbezügliches gefunden.

Ist aber eh fraglich ob die Auswertung NUR mit pstricks und LaTeX sinnvoll ist, schließlich handelt es sich bei beidem um kein Statistik-Programm.

Was die hier beschriebenen Probleme betrifft ist es allerdings sicher sinnvoll, das in LaTeX bzw. pstricks zu machen.

Barry1
27-02-2009, 07:55
Hi Spindoctor,

ich hab schon verstanden, dass Du eigentlich PSTricks möchtest - aber (konnte ich aus Zeitgründen nich testen) mit PICTEX (m-pictex) sollte das wie folgt gehen:

\[
\beginpicture
\setcoordinatesystem units <4mm,12mm>
\setplotarea x from 147.5 to 190, y from 0 to 6
\axis bottom invisible ticks numbered at 150 155 160 165
170 175 180 / /
\axis left ticks numbered at 1 2 3 4 5 / /
\sethistograms
\plot 147.5 0 150 0 155 5 160 4 165 1
170 4 175 3 180 1 182.5 0 /
\put {$\scriptstyle\blacktriangleright$} at 182.5 0
\put {$\scriptstyle\blacktriangle$} at 147.5 6
\put {Anzahl der Daten} at 150 6.5
\put {\lines {K{\"o}rpergr{\"o}{\ss}e\cr in cm}} at 188 0
\endpicture
\]

Vielleicht hilft das ja?

Gruß,

Barry1

voss
27-02-2009, 09:52
Diesmal hab ich glaub ich ein echt kompliziertes Problem...

Wie in diesem Thread (http://www.mrunix.de/forums/showthread.php?t=63597) beschrieben, versuche ich mit pstricks Histogramme zu erzeugen. Zunächst wollte ich die Daten, die den Histogrammen zu Grunde liegen, auch gleich in pstricks auswerten, das scheint aber nicht möglich zu sein???

Jdfs. habe ich die Daten nun mit [R] (http://www.r-project.org/) ausgewertet, und damit Textdateien erzeugt, die jeweils mehrere hundert Zeilen dieser Bauart enthalten

Beispiel - Daten

60 5633
70 4675
80 5199
90 5083
100 4352
110 4057Nun zu meinem Problem:
Ich muss sehr viele Histogramme dieser Art erstellen, und jedes der Histogramme hat unterschiedliche x- und y-Werte. Da auf jeden Fall damit zu rechnen ist, dass die x- und y-Werte sehr groß sind, müsste ich stets mittels \psset{xunit=...,yunit=...} die Grafik entsprechend skalieren. Außerdem muss die Achsenbeschriftung angepasst werden.

Diese Vorgänge würde ich gerne automatisieren.

Ist das möglich das zu machen?
</größter></größter></argmax-y-werte></argmax-x-werte>

Es ist auf dem von die geschilderten Weg nur mit großem Aufwand möglich,
da man schon auf TeX-Ebene den größten Wert kennen müsste. Du kannst
aber einfach ein Script über deinen Datensatz laufen lassen, welches dann
einfach die maximalen Werte in eine eigene Mini-TeX-Datei schreibt:


\documentclass{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[naustrian]{babel}
\usepackage{filecontents}

\begin{filecontents}{a1.txt}
1 5
2 4
3 8
4 9
8 8
\end{filecontents}
\begin{filecontents}{a2.tex}
\def\MaxX{8}\def\MaxY{9}
\end{filecontents}

\usepackage{pstricks}
\usepackage{pstricks-add}

\begin{document}
\readdata{\data}{a1.txt}
\input{a2}

\psset{llx=-1cm,lly=-11cm}
\begin{psgraph}(0,0)(\MaxX,\MaxY){10cm}{7cm}
\psaxes(\MaxX,\MaxY)
\listplot[plotstyle=bar]{\data}
\end{psgraph}

\end{document}


Herbert

Spindoctor
28-02-2009, 11:36
Vielen Dank für die Antworten, und entschuldigung, dass ich erst so spät drauf reagier.

@ Barry1
PicTeX kannte ich bisher noch nicht. so weit ich gesehen habe, gibt es allerdings kein Manual für dieses Package, oder?
Grundsätzlich hab ich auch nichts gegen andere Grafik-Packages als pstricks (mit dem kenn ich mich nur mittlerweile am besten aus) aber mir ist die Vielfältigkeit wichtig. Weil ein Histogramm erstellen und als eps abspeichern kann ich in [R] auch. Und das Fehlen eines Manuals schränkt die Vielfältigkeit von PicTeX für mich schon ein...
Danke trotzdem.

@ voss
hm, ok, argmax und argmin operationen sind wohl kompliziert in TeX...
im Prinzip macht das nicht so viel, weil ich ja ohnehin schon [R] bemühen muss.
Und [R] kann selbstverständlich auch argmin und argmax Operationen ausführen. Außerdem soll [R] angeblich auch sehr gut mit LaTeX zusammenarbeiten - es sollte also möglich sein, ein .tex-File zu erstellen, dass die notwendigen Variablen definiert.
Dieses Dokument könnte ich dann über \input hereinholen.

Nur ein Problem bliebe bestehen:
bei \psaxes möchte ich gerne die Abstände der Ticks auf einen vernünftigen Wert bringen. Vernünftig wäre für mich

größter im pspicture definierter x-Wert/\maxx (Allerdings gerundet)
bzw.
größter im pspicture definierter y-Wert/\maxy (Allerdings gerundet)
(siehe weiter unten)

Gibt es also eine Möglichkeit in LaTeX mittels calc oder pstricks oder einem anderen Paket zu runden?

Danke im Voraus,

Spin

mechanicus
28-02-2009, 13:14
Hallo,

eine Möglichkeit wäre das Paket fp. Hier gibt es die Option FPround.

Gruß
Marco

Spindoctor
28-02-2009, 15:03
klingt gut!

Gibt es wo eine Anleitung für dieses Paket?

mechanicus
28-02-2009, 16:12
Hallo,

Bei CTAN:
http://ftp.fernuni-hagen.de/ftp-dir/pub/mirrors/www.ctan.org/macros/latex/contrib/fp/README

Gruß
Marco

Spindoctor
04-03-2009, 18:59
Hallo nochmal!

Muss mich abermals entschuldigen für die späte Antwort.
Habe eine zeitlang (zugegeben nicht die ganze Zeit bis jetzt) gebraucht, um mich mit dem fp-Paket anzufreunden. Die Dokumentation ist ja sehr kurz gehalten.

Mittlerweile bin ich aber einer Lösung schon sehr nahe.

Ich lass es Euch wissen, wenn sie fertig ist.

Danke bis auf weiters für die Hilfe...

Spindoctor
05-03-2009, 20:34
Hier ein erster Lösungsansatz.
Funktioniert schon recht gut - vielleicht kann man noch einiges verbessern...
Verbesserungsvorschläge sind willkommen.

Mit [R] lasse ich mir ein .tex-File erstellen, in dem folgende Variablen definiert werden:


\data im Stil
x1 y1
x2 y2
etc.
\xmax (größter x-Wert)
\ymax (größter y-Wert)
\xstep (Abstand zwischen 2 x-Werten)

Ein File könnte dann also so aussehen

\newcommand{\data}{%
60 5633
70 4675
80 5199
90 5083
100 4352
110 4057
120 4078
}%
\newcommand{\xmax}{120}
\newcommand{\ymax}{5633}
\newcommand{\xstep}{10}Hier ist nun das LaTeX-fp-PSTricks-Script, das aus diesen Daten ein ganz hübsches Histogramm zaubert.

%
% Histogramm-Test
%
\documentclass{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[naustrian]{babel}

\usepackage{fp}
\usepackage{pstricks}
\usepackage{pstricks-add}

\begin{document}

\input{<daten.tex></daten.tex>daten.tex}

% Größe des Histogramms gesamt
\newcommand{\xpsgraph}{15}
\newcommand{\ypsgraph}{11}

% Reserve für Rand
\newcommand{\xreserve}{2.5}
\newcommand{\yreserve}{1.5}

% Korrektur von xmax um 0,5 * xstep
\FPdiv{\xstephalbe}{\xstep}{2}
\FPadd{\xmax}{\xmax}{\xstephalbe}

% Größe des Histogramms - Reserve für Rand
\FPsub{\xdiagram}{\xpsgraph}{\xreserve}
\FPsub{\ydiagram}{\ypsgraph}{\yreserve}

% Breite der Histogrammbalken
\FPdiv{\xlength}{\xmax}{\xstep}
\FPdiv{\mybarwidth}{\xdiagram}{\xlength}

% Maximal <größe des="" histogramms="">[Größe des Histogramms]-Beschriftungen auf x- und y-Achse</größe>
\FPdiv{\xticks}{\xmax}{\xdiagram}
\FPdiv{\yticks}{\ymax}{\ydiagram}

% Weitere Reduktion der Beschriftungen um Faktor [<zahl></zahl>Zahl]
\FPdiv{\xticks}{\xticks}{10}
\FPdiv{\yticks}{\yticks}{10}

% Runden
\FPround{\xticks}{\xticks}{0}
\FPround{\yticks}{\yticks}{0}

% Wieder aufblasen
\FPmul{\xticks}{\xticks}{10}
\FPmul{\yticks}{\yticks}{10}

% Runden
\FPround{\xticks}{\xticks}{0}
\FPround{\yticks}{\yticks}{0}

\psset{llx=- \xreserve cm,lly=- \yreserve cm}
\begin{psgraph}[Dx=\xticks,Dy=\yticks](0,0)(\xmax,\ymax){\xdiagram cm}{\ydiagram cm}
\listplot[linestyle=solid,plotstyle=bar,barwidth=\mybarwidth cm,fillcolor=blue,fillstyle=none]{\data}
\end{psgraph}

\end{document}

voss
05-03-2009, 20:40
Hier ein erster Lösungsansatz.
Funktioniert schon recht gut - vielleicht kann man noch einiges verbessern...
Verbesserungsvorschläge sind willkommen.

Mit [R] lasse ich mir ein .tex-File erstellen, in dem folgende Variablen definiert werden:


\data im Stil
x1 y1
x2 y2
etc.
\xmax (größter x-Wert)
\ymax (größter y-Wert)
\xstep (Abstand zwischen 2 x-Werten)

Ein File könnte dann also so aussehen

\newcommand{\data}{%
60 5633
70 4675
80 5199
90 5083
100 4352
110 4057
120 4078
}%
\newcommand{\xmax}{120}
\newcommand{\ymax}{5633}
\newcommand{\xstep}{10}Hier ist nun das LaTeX-fp-PSTricks-Script, das aus diesen Daten ein ganz hübsches Histogramm zaubert.


Warum lässt du R nicht gleich Runden, also

\def\xmax{150}
\def\ymax{6000}
oder was imemr du auch gerundet haben willst.

Herbert

Spindoctor
05-03-2009, 20:48
Wenn ich in [R] runden würde, müsste ich noch mehr Variablen dort definieren.

Weil ich nämlich nicht die max-Werte runden will, sondern die Abstände der Beschriftungen.

Die Beschriftungen sollen nämlich nicht so zahlreich sein, dass sie sich gegenseitig "auf die Füße treten" andererseits aber auch keine "unrunden" Werte sein (also immer in hübschen Vielfachen von 10 o.ä.).

Eine andere Frage:

Wieso lässt sich die psgraph-Umgebung nicht von pst-pdf kompilieren?

P.S.: Wenn jemand das [R]-Script will, stell ichs gern zur Verfügung...

voss
05-03-2009, 20:51
Eine andere Frage:

Wieso lässt sich die psgraph-Umgebung nicht von pst-pdf kompilieren?

http://tug.org/mailman/htdig/pstricks/2008/005101.html

Herbert

Spindoctor
05-03-2009, 20:59
cool danke

Xenara
06-03-2009, 11:06
Die Idee mit den Daten in LaTeX in ein Diagramm umwandeln zu lassen klingt super, ich überlege, ob das für mich auch eine Möglichkeit wäre.
Dazu wollte ich das Beispiel aus #11 ausprobieren, aber wie funktioniert das genau?
Ich habe es so versucht:


%
% Histogramm-Test
%
\documentclass{scrartcl}

\begin{filecontents}{daten.tex}
\newcommand{\data}{%
60 5633
70 4675
80 5199
90 5083
100 4352
110 4057
120 4078
}%
\newcommand{\xmax}{120}
\newcommand{\ymax}{5633}
\newcommand{\xstep}{10}
\end{filecontents}


\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{fp}
\usepackage{pstricks}
\usepackage{pstricks-add}

\begin{document}

\input{daten.tex}

% Größe des Histogramms gesamt
\newcommand{\xpsgraph}{15}
\newcommand{\ypsgraph}{11}

% Reserve für Rand
\newcommand{\xreserve}{2.5}
\newcommand{\yreserve}{1.5}

% Korrektur von xmax um 0,5 * xstep
\FPdiv{\xstephalbe}{\xstep}{2}
\FPadd{\xmax}{\xmax}{\xstephalbe}

% Größe des Histogramms - Reserve für Rand
\FPsub{\xdiagram}{\xpsgraph}{\xreserve}
\FPsub{\ydiagram}{\ypsgraph}{\yreserve}

% Breite der Histogrammbalken
\FPdiv{\xlength}{\xmax}{\xstep}
\FPdiv{\mybarwidth}{\xdiagram}{\xlength}

% Maximal [Größe des Histogramms]-Beschriftungen auf x- und y-Achse
\FPdiv{\xticks}{\xmax}{\xdiagram}
\FPdiv{\yticks}{\ymax}{\ydiagram}

% Weitere Reduktion der Beschriftungen um Faktor [Zahl]
\FPdiv{\xticks}{\xticks}{10}
\FPdiv{\yticks}{\yticks}{10}

% Runden
\FPround{\xticks}{\xticks}{0}
\FPround{\yticks}{\yticks}{0}

% Wieder aufblasen
\FPmul{\xticks}{\xticks}{10}
\FPmul{\yticks}{\yticks}{10}

% Runden
\FPround{\xticks}{\xticks}{0}
\FPround{\yticks}{\yticks}{0}

\psset{llx=- \xreserve cm,lly=- \yreserve cm}
\begin{psgraph}[Dx=\xticks,Dy=\yticks](0,0)(\xmax,\ymax){\xdiagram cm}{\ydiagram cm}
\listplot[linestyle=solid,plotstyle=bar,barwidth=\mybarwidth cm,fillcolor=blue,fillstyle=none]{\data}
\end{psgraph}

\end{document}

Kompiliert über .tex -> .dvi -> .ps
Das ergibt aber x Fehlermeldungen. Pakete werden alle gefunden, erste Meldung ist "Undefined control sequence. < argument > \xdiagram".
Wäre jemand so nett und könnte mir einen Tipp geben, wo mein Fehler liegt? Ich würde mir einfach gerne mal das Ergebnis ansehen.

mechanicus
06-03-2009, 11:37
Hallo Xenara,

ich habe das Beispiel eben getetstet. Bei mir läuft es super durch. :confused:

Gruß
Marco

Xenara
06-03-2009, 12:14
Hallo mechanicus,

vielen Dank für deine Rückmeldung, dann liegt es vermutlich an irgendwelchen veralteten Paketversionen, die ich noch rumliegen hab (ich brauch diese Pakete sonst nie).
Würdest du mir vielleicht bitte deine Filelist posten?

Spindoctor
06-03-2009, 13:21
bei mir kompiliert es auch tadellos - hier meine filelist


*File List*
scrartcl.cls 2009/01/24 v3.02b KOMA-Script document class (article)
scrkbase.sty 2009/01/24 v3.02b KOMA-Script package (KOMA-Script-dependent ba
sics and keyval usage)
scrbase.sty 2009/01/24 v3.02b KOMA-Script package (KOMA-Script-independent
basics and keyval usage)
keyval.sty 1999/03/16 v1.13 key=value parser (DPC)
scrlfile.sty 2008/07/09 v3.00 KOMA-Script package (loading files)
tocbasic.sty 2009/01/20 v3.02a(package)
scrsize11pt.clo 2009/01/24 v3.02b KOMA-Script font size class option (11pt)
typearea.sty 2009/01/24 v3.02b KOMA-Script package (type area)
inputenc.sty 2006/05/05 v1.1b Input encoding file
latin1.def 2006/05/05 v1.1b Input encoding file
fontenc.sty
t1enc.def 2005/09/27 v1.99g Standard LaTeX file
babel.sty 2008/07/06 v3.8l The Babel package
bblopts.cfg 2006/07/31 v1.0 MiKTeX 'babel' configuration
ngermanb.ldf 2008/07/06 v2.6n new German support from the babel system
fp.sty 1995/04/02
defpattern.sty 1994/10/12
fp-basic.sty 1996/05/13
fp-addons.sty 1995/03/15
fp-snap.sty 1995/04/05
fp-exp.sty 1995/04/03
fp-trigo.sty 1995/04/14
fp-pas.sty 1994/08/29
fp-random.sty 1995/02/23
fp-eqn.sty 1995/04/03
fp-upn.sty 1996/10/21
fp-eval.sty 1995/04/03
pstricks.sty 2008/11/26 v0.40 LaTeX wrapper for `PSTricks' (RN,HV)
pstricks.tex 2009/01/25 v1.27 `PSTricks' (tvz,hv)
xcolor.sty 2007/01/21 v2.11 LaTeX color extensions (UK)
color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
pstricks-add.sty 2007/09/03 v. 0.11 package wrapper for pstricks-add.tex (hv
)
pstricks-add.tex 2009/03/03 v3.18 `PSTricks-add' (hv)
pst-xkey.tex 2005/11/25 v1.6 PSTricks specialization of xkeyval (HA)
xkeyval.sty 2008/08/13 v2.6a package option processing (HA)
xkeyval.tex 2008/08/13 v2.6a key=value parser (HA)
daten.tex
***********

Das Ergebnis sieht allerdings nicht so hübsch aus bei mir.

Kann nicht sagen woran es liegt - eine Veränderung von Dir oder eine von mir, die ich noch gestern durchgeführt habe. Deshalb nochmal der Code im nächsten Posting.

mechanicus
06-03-2009, 13:22
Hallo,

mache ich doch sofort:

*File List*
scrartcl.cls 2009/01/24 v3.02b KOMA-Script document class (article)
scrkbase.sty 2009/01/24 v3.02b KOMA-Script package (KOMA-Script-dependent ba
sics and keyval usage)
scrbase.sty 2009/01/24 v3.02b KOMA-Script package (KOMA-Script-independent
basics and keyval usage)
keyval.sty 1999/03/16 v1.13 key=value parser (DPC)
scrlfile.sty 2008/07/09 v3.00 KOMA-Script package (loading files)
tocbasic.sty 2009/01/20 v3.02a(package)
scrsize11pt.clo 2009/01/24 v3.02b KOMA-Script font size class option (11pt)
typearea.sty 2009/01/24 v3.02b KOMA-Script package (type area)
inputenc.sty 2006/05/05 v1.1b Input encoding file
latin1.def 2006/05/05 v1.1b Input encoding file
fontenc.sty
t1enc.def 2005/09/27 v1.99g Standard LaTeX file
babel.sty 2008/07/06 v3.8l The Babel package
ngermanb.ldf 2008/07/06 v2.6n new German support from the babel system
fp.sty 1995/04/02
defpattern.sty 1994/10/12
fp-basic.sty 1996/05/13
fp-addons.sty 1995/03/15
fp-snap.sty 1995/04/05
fp-exp.sty 1995/04/03
fp-trigo.sty 1995/04/14
fp-pas.sty 1994/08/29
fp-random.sty 1995/02/23
fp-eqn.sty 1995/04/03
fp-upn.sty 1996/10/21
fp-eval.sty 1995/04/03
pstricks.sty 2008/11/26 v0.40 LaTeX wrapper for `PSTricks' (RN,HV)
pstricks.tex 2009/01/25 v1.27 `PSTricks' (tvz,hv)
xcolor.sty 2007/01/21 v2.11 LaTeX color extensions (UK)
color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
pstricks-add.sty 2007/09/03 v. 0.11 package wrapper for pstricks-add.tex (hv
)
pstricks-add.tex 2009/01/21 v3.17 `PSTricks-add' (hv)
pst-xkey.tex 2005/11/25 v1.6 PSTricks specialization of xkeyval (HA)
xkeyval.sty 2008/08/13 v2.6a package option processing (HA)
xkeyval.tex 2008/08/13 v2.6a key=value parser (HA)
daten.tex
***********

Gruß
Marco

Spindoctor
06-03-2009, 13:31
%
% Histogramm-Test
%
\documentclass{scrartcl}

\usepackage{fp}

\usepackage{pstricks}
\usepackage{pstricks-add}

\begin{document}

\input{daten}

% Größe des Histogramms gesamt
\newcommand{\xpsgraph}{10}
\newcommand{\ypsgraph}{10}

% Reserve für Rand
\newcommand{\xreserve}{2.5}
\newcommand{\yreserve}{1.5}

% Korrektur von xmax um 0,5 * xstep
\FPdiv{\xstephalbe}{\xstep}{2}
\FPadd{\xmax}{\xmax}{\xstephalbe}

% Größe des Histogramms - Reserve für Rand
\FPsub{\xdiagram}{\xpsgraph}{\xreserve}
\FPsub{\ydiagram}{\ypsgraph}{\yreserve}

% Breite der Histogrammbalken
\FPdiv{\xlength}{\xmax}{\xstep}
\FPdiv{\mybarwidth}{\xdiagram}{\xlength}

% Maximal Größe des Histogramms-Beschriftungen auf x- und y-Achse
\FPdiv{\xticks}{\xmax}{\xdiagram}
\FPdiv{\yticks}{\ymax}{\ydiagram}

% Weitere Reduktion der Beschriftungen um Faktor Zahl
\FPdiv{\xticks}{\xticks}{5}
\FPdiv{\yticks}{\yticks}{5}

% Runden
\FPround{\xticks}{\xticks}{0}
\FPround{\yticks}{\yticks}{0}

% Wieder aufblasen
\FPmul{\xticks}{\xticks}{5}
\FPmul{\yticks}{\yticks}{5}

% Runden
\FPround{\xticks}{\xticks}{0}
\FPround{\yticks}{\yticks}{0}

\psset{llx=- \xreserve cm,lly=- \yreserve cm}
\begin{psgraph}[Dx=\xticks,Dy=\yticks](0,0)(\xmax,\ymax){\xdiagram cm}{\ydiagram cm}
\listplot[linestyle=solid,plotstyle=bar,barwidth=\mybarwidth cm,fillcolor=blue,fillstyle=none]{\data}
\end{psgraph}

\end{document}
Grün sind wieder jene Werte, die variabel sind.

Bei der Reduktion und dem Aufblasen sollte für die beiden x-Werte das selbe und für die beiden y-Werte das selbe eingetragen werden. (Könnte man natürlich auch automatisieren, hab ich aber noch nicht.)

Bei sehr kleinen Histogrammen sollten auch die Werte in den \FPround-Befehlen vergrößert werden, sonst sinken Dx und Dy auf 0, was eine unzulässige Eingabe wäre.

Rückmeldungen bitte posten...

Spindoctor
06-03-2009, 13:52
es sieht immer noch eigenartig aus, wobei ich dieses verhalten nicht nachvollziehen kann...
(http://www.mrunix.de/forums/showthread.php?t=63805)

Xenara
06-03-2009, 14:44
Danke für die Filelists. Ich sollte wohl dringend mal updaten... (TeXLive auf Windows)
Kompiliert mit ps -> dvi, und zwar nur den Header, also ohne irgendwas zwischen \begin und end{document} stehen zu haben (sonst gibts zu viele Fehler und keine Filelist), siehts bei mir so aus:


*File List*
scrartcl.cls 2003/04/22 v2.9o LaTeX2e KOMA document class
scrlfile.sty 2003/04/22 v2.9o LaTeX2e KOMA package
size11.clo 2001/04/21 v1.4e Standard LaTeX file (size option)
typearea.sty 2003/04/22 v2.9o LaTeX2e KOMA package
inputenc.sty 2001/07/10 v0.99a Input encoding file
latin1.def 2001/07/10 v0.99a Input encoding file
fontenc.sty
t1enc.def 2001/06/05 v1.94 Standard LaTeX file
babel.sty 2003/09/15 v3.7j The Babel package
ngermanb.ldf 2003/05/23 v2.6m new German support from the babel system
fp.sty 1995/04/02
defpattern.sty 1994/10/12
fp-basic.sty 1996/05/13
fp-addons.sty 1995/03/15
fp-snap.sty 1995/04/05
fp-exp.sty 1995/04/03
fp-trigo.sty 1995/04/14
fp-pas.sty 1994/08/29
fp-random.sty 1995/02/23
fp-eqn.sty 1995/04/03
fp-upn.sty 1996/10/21
fp-eval.sty 1995/04/03
pstricks.sty 2008/10/31 v0.39 LaTeX wrapper for `PSTricks' (RN,HV)
pstricks.tex 2008/07/31 v1.26 `PSTricks' (tvz)
pstricks.pro 2008/01/01 v. 1.03, PostScript prologue file (hv)
pst-dots.pro 2006/12/19 v. 2.00, PostScript prologue file (hv)
pst-algparser.pro 2008/01/01 v. 0.01, PostScript prologue file (hv)
xcolor.sty 2007/01/21 v2.11 LaTeX color extensions (UK)
color.cfg 2001/08/31 v1.1 color configuration of teTeX/TeXLive
dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
pstricks-add.sty 2007/09/03 v. 0.11 package wrapper for pstricks-add.tex (hv
)
pstricks-add.tex 2009/01/21 v3.17 `PSTricks-add' (hv)
pst-xkey.tex 2005/11/25 v1.6 PSTricks specialization of xkeyval (HA)
xkeyval.sty 2008/08/13 v2.6a package option processing (HA)
xkeyval.tex 2008/08/13 v2.6a key=value parser (HA)
pstricks-add.pro 2007/11/18 v. 0.15, PostScript prologue file (hv)

Ich sehe nur nicht, welches die relevanten Pakete sind :confused:
Erste Zeile des Logs ist


This is e-TeXk, Version 3.141592-2.1 (Web2c 7.5.2) (format=latex 2008.7.7) 6 MAR 2009 14:10

mechanicus
06-03-2009, 18:59
Hallo,


Ich sollte wohl dringend mal updaten...

sieht wohl so aus ;)


Ich sehe nur nicht, welches die relevanten Pakete sind :confused:

Das merkwürdige ist, dass bei dir xdiagramm nicht erkannt wird. Es ist ja nun so, dass das gar nichts mit pstricks zu tun hat, sondern allein auf fp zurück geht.

Vielleicht mal zum Vergleich:

This is pdfTeXk, Version 3.1415926-1.40.9 (Web2C 7.5.7) (format=latex 2009.2.25) 6 MAR 2009

Gruß
Marco

Xenara
06-03-2009, 19:22
Hi mechanicus,
rufst du pdflatex auf? Bei mir lasse ich latex.exe drüberlaufen, welches ein dvi erzeugt, und dann dvi -> ps.

Und peinliche Frage, wenn ich das komplette System updaten will: Suche ich mir einfach sämtliche Pakete, die ich gern hätte, und kopier sie über die alten drüber, oder hole ich mir eine komplett neue TeXLive-Installation? (TeXLive ist praktisch, da ich am PC und am Mac arbeite.) Bisher hats immer gereicht, einige einzelne .sty-Dateien neu zu installieren.
Ausprobieren kann ich allerdings erst ab Montag wieder.

mechanicus
06-03-2009, 19:46
rufst du pdflatex auf? Bei mir lasse ich latex.exe drüberlaufen, welches ein dvi erzeugt, und dann dvi -> ps.
Hallo,

nein ich lasse auch erst latex drüber laufen und mache dann dvips und dann ps2pdf.



Und peinliche Frage, wenn ich das komplette System updaten will:
Ich würde direkt den Updatemanager bemühen: (Ab Version 2008):

tlmgr update -all
Wird aber eine Weile dauern. Falls du noch nicht die zugehörige Installationsquelle angegeben hast:

tlmgr option location http://mirror.ctan.org/systems/texlive/tlnet/2008

Meist musst du dann erst die Dateien bin-texlive und texlive.infra updaten:

tlmgr update bin-texlive texlive.infra

Gruß
Marco

Xenara
09-03-2009, 15:55
Hi mechanicus und spindoctor,

vielen vielen Dank für eure Hilfe.
Ich hab mir jetzt TeXLive 2008 installiert, und damit funktioniert das MB einwandfrei (und noch so ein paar Kleinigkeiten wie ps4pdf...).
Bin echt begeistert, das eröffnet einige neue Möglichkeiten. :)

Viele Grüsse,
Xenara