PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : wissenschaftliche (statistische) Grafiken - mit welchem Tool



Spindoctor
15-03-2009, 19:01
Hallo!

Mit welchem Tool macht ihr wissenschaftliche (statistische Grafiken)?

Bis jetzt habe ich pstricks und pstricks-add verwendet. Dieses Paket hat große Vorteile, weil die Einbindung und Anpassung der Grafiken direkt im .tex-Dokument passiert und weil von den Achsen über die Darstellungsform bis zu den verwendeten Farben nahezu alles an die jeweiligen Bedürfnisse anpassbar ist.

Wie auch immer - das Erstellen von statistischen Grafiken, mit Histogrammen und Funktionsplot erscheint mir zunehmend mühsam. In fast jeder Grafik, die ich erstelle muss ich etwas verbessern oder adaptieren, weil z.B. zu große oder zu kleine Werte verwendet werden (ich erstelle Grafiken aus Daten der Gesamtpopulation von Österreich, da kommt es teilweise zu sehr großen Zahlen, bzw. zu sehr kleinen Zahlen, wenn es um den Anteil einer bestimmten Gruppe an der Gesamtbevölkerung geht).

Deshalb denke ich jetzt darüber nach, auf ein anderes Tool umzusteigen.

In Frage kommen würde:



GNUPlot (Das dürfte auch sehr schöne Grafiken zeichnen, so weit ich das aus Screenshots sehen konnte. Außerdem ist es speziell für die Erstellung wissenschaftlicher Grafiken gemacht. Ein großer Pluspunkt ist der pstricks-output. Aber ist dieser Output so, dass man ihn lesen und gegebenenfalls verändern kann? Ein Nachteil wäre auf jeden Fall, dass ich neben dem Statistik-Programm und LaTeX mit GNUPlot noch ein drittes Tool verwenden müsste.)
GNU [R] (Das macht auch recht hübsche Grafiken, braucht wahrscheinlich aber eine gewisse Einarbeitungszeit. Der größte Nachteil ist, dass der Export in LaTeX nur über .eps passieren kann. Somit sind fertige Grafiken in LaTeX kaum noch editierbar. Der größte Vorteil ist, dass Auswertung und das Erstellen der Grafik im selben Programm geht.)
weiterhin PSTricks (mit allen Vorteilen und Nachteilen, die ich schon zuvor beschrieben habe. Im Handbuch von PSTricks steht, dass es nicht unbedingt für wissenschaftliche Grafiken gedacht ist. Zwar scheint mir, man kann es trotzdem dafür verwenden, es ist aber wirklich etwas umständlich, so weit ich das bis jetzt beurteilen kann.)
ein anderes Tool, dass ihr mir jetzt empfehlt :D

Ich weiß, dass es hier keine eindeutige Antwort gibt, und die Entscheidung letztendlich eine Geschmacksfrage ist. So wie die Entscheidung zwischen Gnome und KDE gibt es hier kein richtig und kein falsch und jede/r hat nicht unbedingt eine objektive Meinung zum Thema.
Mich würden Argumente interessieren, die für die eine oder andere Lösung sprechen. Schließlich hab ich noch keine Vergleichswerte.

Danke,

Spin

Statist
15-03-2009, 20:45
GNU [R] (Das macht auch recht hübsche Grafiken, braucht wahrscheinlich aber eine gewisse Einarbeitungszeit. Der größte Nachteil ist, dass der Export in LaTeX nur über .eps passieren kann. Somit sind fertige Grafiken in LaTeX kaum noch editierbar. Der größte Vorteil ist, dass Auswertung und das Erstellen der Grafik im selben Programm geht.)


Naja, R macht schon schicke Abbildungen. Man muß sich nur reinknien. Man kann dort schließlich fast alles ändern.

Sehr schön ist, das Latex und R zusammenarbeiten können. Schau dir mal Sweave an.

Du erzeugtst eine Datei, schickst die an R. R berechnet alles, erzeugt Abbildungen usw. Diese Datei schickst Du an Latex. Das macht dann den Text.

Das geht dann so weit, das Du folgendes basteln kannst
Pseudocode:
...wie wir in Abbildung \ref{Abb1} sehen können
[R sei so nett und mach bitte folgendes plot(a,b)]
Die ganzen Ergebnisse sind statistisch signifikant (p-Wert: [R sei so nett t.test(Daten)$pvalue]) usw.

Sehr schick. Leider läuft es gerade auf meinem Rechner nicht, aber ich muß mich da mal mehr reinknien.

Aber kann R nicht auch Latex-Abbildungen ausspucken, die man zur Not wo anders bearbeiten kann? Also R kann doch eigentlich "alles".

Guido

voss
15-03-2009, 21:20
Wie auch immer - das Erstellen von statistischen Grafiken, mit Histogrammen und Funktionsplot erscheint mir zunehmend mühsam. In fast jeder Grafik, die ich erstelle muss ich etwas verbessern oder adaptieren, weil z.B. zu große oder zu kleine Werte verwendet werden (ich erstelle Grafiken aus Daten der Gesamtpopulation von Österreich, da kommt es teilweise zu sehr großen Zahlen, bzw. zu sehr kleinen Zahlen, wenn es um den Anteil einer bestimmten Gruppe an der Gesamtbevölkerung geht).


Du kannst die Werte beliebig verändern, sodass du in jedem Fall
keine Probleme bekommst, denn die Einteilung auf den Achsen
lässt sich unabhängig von den Endwerten gestalten. Ebenso kann
kann man jeder grafischen Darstellung über unit eine beliebige
Skalierung mitgeben.

http://tug.org/PSTricks/main.cgi?file=pst-plot/DataExamples
speziell: http://tug.org/PSTricks/pst-plot/listplot1.pdf

zeigt ganz verschiedene Achseneinteilungen.

Herbert

Spindoctor
15-03-2009, 23:52
@ Statist
Das klingt sehr interessant. Ich bin noch ein ziemlicher [R]-Frischling, aber das was ich bis jetzt drin gemacht hab, war recht intuitiv.
Gibts irgendwo gute Quellen zum nachlesen zu Sweave?
Und wie meinst Du das mit den LaTeX-Grafiken in [R]? Hab dazu nicht sehr viel gefunden, bis jetzt...

@ voss
hmm, wenn ich etwa dieses Beispiel hernehme:

%
% sehr großer psgraph
%

\documentclass{scrartcl}

\usepackage{pstricks-add}

\usepackage{pst-pdf}
\PreviewEnvironment{psgraph}

\begin{document}

\begin{pspicture}(0,0)(10,5)
\psset{llx=-1cm,lly=-1cm}
\begin{psgraph}[Dx=1,Dy=10000](0,0)(10,70000){8.5cm}{3.5cm}
\end{psgraph}
\end{pspicture}

\end{document}Das ist bei mir einfach nicht lauffähig, und gibt mir die Fehlermeldung

! Dimension too large.Ich kann natürlich die Grafik manuell skalieren, und z.b. einfach 3 Nullen streichen. Das ist dann aber ein ziemlicher Aufwand, weil ich das bei den Datenpunkten auch machen muss. Und dann noch die Beschriftungen anpassen.
Somit ist zwar alles möglich, aber doch ein wenig umständlich. Oder hab ich das falsch verstanden?

@ all
Gibts auch etwas, das für GNUPlot spricht?
Wie sieht denn der pstricks-output von GNUPlot aus? Ähnlich unleserlich wie der von Inkscape, oder kann man da auf die schnelle Attribute wie die Linienfarbe oder -dicke ändern?

mechanicus
16-03-2009, 07:22
Hallo,


%
% sehr großer psgraph
%

\documentclass{scrartcl}

\usepackage{pstricks-add}

% \usepackage{pst-pdf}
% \PreviewEnvironment{psgraph}

\begin{document}

\begin{pspicture}(0,0)(10,5)
\psset{llx=-1cm,lly=-1cm}
\begin{psgraph}[Dx=1,Dy=10.000](0,0)(10,70.000){8.5cm}{3.5cm}
\end{psgraph}
\end{pspicture}

\end{document}

Gruß
Marco

Statist
16-03-2009, 07:24
Sorry, wenn ich hier jetzt quasi ein paar R Sachen poste, aber zum einen geht es in dem Beitrag um R und Latex, und zum anderen interessiert das vielleicht den ein oder anderen. Ich hoffe, das geht in Ordnung.


@ Statist
Das klingt sehr interessant. Ich bin noch ein ziemlicher [R]-Frischling, aber das was ich bis jetzt drin gemacht hab, war recht intuitiv.
Gibts irgendwo gute Quellen zum nachlesen zu Sweave?
Und wie meinst Du das mit den LaTeX-Grafiken in [R]? Hab dazu nicht sehr viel gefunden, bis jetzt...


Zu Sweave:
Unter http://www.r-project.org/doc/Rnews/index.html
in den Ausgaben (wenn ich mich nicht irre)
Vol 5/1 2005, S.40
Vol 2/3 2002, S.28
Vol 3/2 2003, S.21
und unter

@TECHREPORT{Leisch2002,
author = {Friedrich Leisch},
title = {Sweave: Dynamic Generation of Statistical Reports Using Literate
Data Analysis},
institution = {Vienna University of Economics and Business Administration},
year = {2002},
number = {69},

gibt es irgendwo auf der Seite vom Leisch an der Uni in München. Und ich denke, Sewave müßte auch ein Manual mitinstallieren.

Direkt in R Latex-Abbildungen erzeugen:
?pictex
?xfig macht xfig Abbildungen, sollte also auch helfen.

Und R ist hinsichltich Abbildungen ja ein sehr mächtiges Tool. Leider nicht immer ganz intutitiv, manchmal muß man schonmal nach etwas suchen und sich reinknien, aber dann kann man schon sehr gute Abbildungen machen (siehe z.B. demo(persp) ).

Ich hoffe, ich konnte helfen.

Guido

voss
16-03-2009, 08:36
%
% sehr großer psgraph
%

\documentclass{scrartcl}

\usepackage{pstricks-add}

% \usepackage{pst-pdf}
% \PreviewEnvironment{psgraph}

\begin{document}

\begin{pspicture}(0,0)(10,5)
\psset{llx=-1cm,lly=-1cm}
\begin{psgraph}[Dx=1,Dy=10.000](0,0)(10,70.000){8.5cm}{3.5cm}
\end{psgraph}
\end{pspicture}

\end{document}


gute Idee mit 10.000 !!

Hier nochmal eine weitere Variante:

\begin{pspicture}(0,0)(10,5)
\psset{llx=-1cm,lly=-1cm,ylabelFactor=\cdot10^4}
\begin{psgraph}[Dy=2,dy=2\psyunit](0,0)(10,7){8.5cm}{3.5cm}
\end{psgraph}
\end{pspicture}


Den Graphen skaliert man dann einfach über \pstScalePoints

\pstScalePoints(1,0.0001){}{}

Herbert

Spindoctor
16-03-2009, 12:24
@ mechanicus & voss

Danke, so ist es tatsächlich nicht mehr sehr umständlich.

@ Statist

Danke für die Sweave-Infos.
mit pictex und xfig kenn ich mich halt noch nicht aus. Und nachdem pstricks als das mächtigste Grafik-Tool in LaTeX gilt, bin ich auch etwas gehemmt, mich näher damit auseinanderzusetzen. Aber wenn ich mittels Sweave schöne Abbildungen direkt im LaTeX-Editor hinbekomm wär das eh ausreichend.

@ all

... und mit GNUPlot hat niemand erfahrung? :confused:

Danke nochmal an alle, die sich dieses Threads annehmen!

mechanicus
16-03-2009, 12:37
... und mit GNUPlot hat niemand erfahrung? :confused:
Hallo,

Ich habe es mal getestet. Schaue dir mal die Code-sequenzen an. Du musst also wieder was neues Lernen. Ich *persönlich* finde die Code-Sequenzen bei GnuPlot jetzt nicht so toll. Liegt auch daran, dass ich meine Daten mit Maple bzw. Matlab verarbeitet und mit GnuPlot dann durcheinander kam. Ich lasse mir dann meist den Datenvektor optimal für pstricks ausgeben und muss daher eigentlich nie psScalePoints nutzen.

Gruß
Marco

Statist
16-03-2009, 20:10
@ Statist
Danke für die Sweave-Infos.
mit pictex und xfig kenn ich mich halt noch nicht aus. Und nachdem pstricks als das mächtigste Grafik-Tool in LaTeX gilt, bin ich auch etwas gehemmt, mich näher damit auseinanderzusetzen. Aber wenn ich mittels Sweave schöne Abbildungen direkt im LaTeX-Editor hinbekomm wär das eh ausreichend.


Ich sehe bei R den ganz klaren Vorteil, das ich die Daten bearbeite, Berechnungen anstellt (Regression, Tests und alles was man noch so zaubern kann mit Statistik) und dann die passenden Zeichnungen dazu macht. Ich fände es unpraktisch dann ein weiteres Programm zu starten und die Abbildungen machen. Zahlen einfügen und und und...

R ist da eigentlich was statistische Abbildungen angeht schon sehr mächtig. Kenne aber auch pstricks nicht.

Guido

Spindoctor
16-03-2009, 22:08
@ mechanicus
aha... und wie machst Du das, Schritt für Schritt, dass der Datenvektor schon in geeigneter Form für PSTricks rauskommt? Ich arbeite zwar mit [R] (bis jetzt nur um LaTeX-Variablen für PSTricks zu definieren) aber damit der Output passt, muss ich schon einige Parameter mehr als üblich übergeben (etwa damit die Trennung der Werte nicht durch ein Semikolon passiert), und von optimiert kann noch immer nicht die Rede sein.

@ Statist
Ja [R] hat schon eine recht mächtige Engine, was man so hört.
Soweit ich bis jetzt informiert bin, ist ein "Nachteil" von Sweave, dass es nur vernünftig mit Emacs läuft, oder?
Ich arbeite zur Zeit nämlich zumeist noch auf Windows, und fühle mich schon sehr verwöhnt mit TeXnicCenter...

mechanicus
16-03-2009, 23:38
und wie machst Du das ... dass der Datenvektor schon in geeigneter Form
Hallo,

ich überlege mir ja schon vorher, was ich darstellen will. Hierbei skaliere ich die Funktionswerte auf einen Maximalwert von 10 runter bzw rauf. Da ich meist psaxes nehme, brauche ich dann nur den Skalierungsparameter nehmen, und mein dx bzw. Dx passend wählen. Ohne es hier hochzuladen. Ich hatte kürzlich Hysteresen und Frequenzen darzustellen, die habe ich mir schon in Matlab so ausgerechnet, dass ich sie 1 zu 1 (d.h. beim Punkt (1,1) war auch schon 10^0) übertragen konnte. Wäre auch mit psgraph gegangen. War aber gerade in Matlab-laune ;)

Gruß
Marco

Spindoctor
16-03-2009, 23:52
verstehe :)

also wirklich automatisch geht leider gar nix, in dem zusammenhang... :(
natürlich sollte man wissen, wie groß die Werte ungefähr sein werden und kann dann skalieren. aber ich habs so gern, wenn der computer das denken für mich übernimmt ;)
Außerdem ist es auch eine Frage der Geschwindigkeit...

Statist
17-03-2009, 13:24
hat schon eine recht mächtige Engine, was man so hört.
Soweit ich bis jetzt informiert bin, ist ein "Nachteil" von Sweave, dass es nur vernünftig mit Emacs läuft, oder?
Ich arbeite zur Zeit nämlich zumeist noch auf Windows, und fühle mich schon sehr verwöhnt mit TeXnicCenter...

Ja, R ist schon maechtig. Wird ja nicht umsonst von Statistikern verwendet (SAS ist nur noch in der Industrie, an den Unis/Forschung ist es R)

Sweave laeuft auch mit dem WinEdt (5.5). Dort kann man das einstellen, das man mit einem Klick den Spass nach R schickt dann automatisch den Latex-lauf bekommt.
Also ein Editor, das mir alles macht. Ich kenne Emacs nicht.

Unter TeXnicCenter muesste das aber doch auch irgendwie gehen. Wobei hier vielleicht das Problem ist, den Code von TeXnicCenter nach R zu bekommen. Fuer den WinEdt gibt es ja das RWinEdt packt.

Nur habe ich gerade mein R etwas verstellt, deswegen lauefts nicht mehr. Muss mich da mal drum kuemmern, wenn ich Zeit fuer habe.

Guido

vci
17-03-2009, 13:36
Also ich benutze GnuPlot für Analysis-Sachen (also nichts mit Statistik).

Ansonsten noch nicht genannt wurde:
http://de.wikipedia.org/wiki/Sage_(Computeralgebrasystem)

Was im Endeffekt auch auf R im Bereich Statistik aufbaut, aber eben noch viel mehr bietet ...

Spindoctor
19-03-2009, 10:14
danke nochmals für die antworten.

ja, hab mir jetz ein paar tage emacs angeschaut - is sehr kompliziert.
also wenn man noch nie auf linux damit gearbeitet hat, scheint es mir zu schwierig es auf windows einzusetzen. da werd ich wohl auf winedt setzen.

naja da ich eh schritweise auf linux umsteig, ergibt sich vielleicht ein einstieg in emacs. (für hilfreiche links bin ich dankbar ;-) )