[PSTricks,fileplot] Daten logarithmisch auftragen

Tabellen und Grafiken erstellen und anordnen


Klaus
Forum-Century
Forum-Century
Beiträge: 184
Registriert: Do 27. Jan 2011, 19:30

Beitrag von Klaus »

[quote="CrazyHorse"
du willst also einfach denselben Graphen beispielsweise auf 5x5 udn ein andermal auf 30x15cm auftragen, mit denselben Werten, richtig?
[/quote]

Genau! :)

Viele Grüße,
Klaus.

CrazyHorse
Forum-Guru
Forum-Guru
Beiträge: 252
Registriert: Di 16. Mär 2010, 09:39

Beitrag von CrazyHorse »

Klaus hat geschrieben:[quote="CrazyHorse"
du willst also einfach denselben Graphen beispielsweise auf 5x5 udn ein andermal auf 30x15cm auftragen, mit denselben Werten, richtig?
Genau! :)
[/quote]

das ist besonders einfach, mit der psgraph-Umgebung gibst du einfach Breite und Höhe an. Ein {!} bei y heißt proportional zur x-Breite:
\listfiles
\documentclass{article}
\usepackage{pst-plot}

\begin{document}

\psset{yAxisLabel=,xAxisLabel=}
\begin{psgraph}[logLines=all,subticks=5,
                xylogBase=10,Oy=-3,Ox=-1](-1,-3)(2,1){6cm}{!}
  \pstScalePoints(1,1){ dup 0 eq { pop -1.e30 }{ log } ifelse}
                      { dup 0 eq { pop -1.e30 }{ log } ifelse}
  \readdata{\Data}{/tmp/Download/average-energy-time_5.txt}
  \listplot[plotstyle=dots]{\Data}
\end{psgraph}

\begin{psgraph}[logLines=all,
                subticks=5,xylogBase=10,
                Oy=-3,Ox=-1](-1,-3)(2,1){\linewidth}{\linewidth}
  \pstScalePoints(1,1){ dup 0 eq { pop -1.e30 }{ log } ifelse}
                      { dup 0 eq { pop -1.e30 }{ log } ifelse}
  \readdata{\Data}{/tmp/Download/average-energy-time_5.txt}
  \listplot[plotstyle=dots]{\Data}
\end{psgraph}

\end{document}
Herbert

Klaus
Forum-Century
Forum-Century
Beiträge: 184
Registriert: Do 27. Jan 2011, 19:30

Beitrag von Klaus »

Cool,
danke.

Das funktioniert ja wunderbar! :)

Nur musste ich feststellen, dass die Darstellung lediglich in kpdf klappt.

Wenn ich die pdf Datei im Adobe Reader öffne, dann stimmt die Skalierung des Graphen nicht mehr. :shock:

Ist das ein 'bekanntes' Problem? Google war dazu nicht sehr hilfreich.

Viele Grüße,
Klaus.

CrazyHorse
Forum-Guru
Forum-Guru
Beiträge: 252
Registriert: Di 16. Mär 2010, 09:39

Beitrag von CrazyHorse »

Klaus hat geschrieben: Nur musste ich feststellen, dass die Darstellung lediglich in kpdf klappt.

Wenn ich die pdf Datei im Adobe Reader öffne, dann stimmt die Skalierung des Graphen nicht mehr. :shock:

Ist das ein 'bekanntes' Problem? Google war dazu nicht sehr hilfreich.
http://archiv.dante.de/~herbert/zz.pdf

ich sehe kein Problem mit dem Reader

Herbert

Klaus
Forum-Century
Forum-Century
Beiträge: 184
Registriert: Do 27. Jan 2011, 19:30

Beitrag von Klaus »

Und die nächste Runde. :lol:

Ich versuche jetzt die Graphen in eine eps Datei zu verwandeln, um sie später in mein Dokument einbinden zu könenn.

Dabei habe ich das Beispiel von CTAN übernommen:
\psset{checkfile=true}
\PSTtoEPS[bbllx=0.5,
bblly=0.5,
bburx=5.3,bbury=3.4,
checkfile,headers=all,makeeps=all*]{frame.eps}{%
\psgrid[subgriddiv=0](5,3)
\psframe[linecolor=blue,linewidth=0.1](1,1)(4,2)%
}
\includegraphics[scale=0.5]{frame}
Und habe die Befehle dann um meinen Graphen gebastelt:
\documentclass[a4paper]{scrartcl}

\usepackage{pstricks}
\usepackage{pst-plot}
\usepackage{pstricks-add}
\usepackage{pst-eps}
\usepackage{graphicx}

\begin{document}
%
  \begin{pspicture}(0,0)(11,6)
\PSTtoEPS[bbllx=0.5,bblly=0.5,bburx=5.3,bbury=3.4,checkfile,headers=all,makeeps=all*]{frame.eps}
{%
	\psset{checkfile=true,xAxisLabelPos={4cm,-3cm},xAxisLabel=depth,yAxisLabel=}
	\begin{psgraph}[logLines=all,subticks=1,xylogBase=10,Ox=0,Oy=-3]{->}(0,-3)(3.2,2){8cm}{4cm}
  		\pstScalePoints(1,1){ dup 0 eq { pop -1.e30 }{ log } ifelse}
                	            { dup 0 eq { pop -1.e30 }{ log } ifelse}
%
		\readdata[nStep=2]{\five}{average-depth-time_5.txt}
%
		\listplot[plotstyle=dots,dotsize=2pt]{\five}
	\end{psgraph}
}
\end{pspicture}
\includegraphics[scale=0.8]{frame}
%
\end{document}
Nur das Ergebnis sieht einfach ... komisch aus. :shock:

Also die mb.ps Datei zeigt den Graphen sehr 'verzerrt' und die eps-Datei zeigt nichts?

Viele Grüße,
Klaus.
Dateianhänge
average-depth-time_5.txt
(18.55 KiB) 507-mal heruntergeladen
mb.ps
(105.77 KiB) 628-mal heruntergeladen
frame.eps
(25.71 KiB) 482-mal heruntergeladen

CrazyHorse
Forum-Guru
Forum-Guru
Beiträge: 252
Registriert: Di 16. Mär 2010, 09:39

Beitrag von CrazyHorse »

Klaus hat geschrieben:Ich versuche jetzt die Graphen in eine eps Datei zu verwandeln, um sie später in mein Dokument einbinden zu könenn.
warum denn so kompliziert? Die einfachste Variante ist XeLaTeX zu nehmen, dann brauchst du gar nichst weiter zu beachten und hast gleich die PDF. Nebenbei kannst du auch noch alle TrueType-Schriften verwenden. Die nächste einfache Variante ist die Verwendung des Paketes auto-pst-pdf
http://tug.org/PSTricks/main.cgi?file=p ... autopstpdf

Herbert

Klaus
Forum-Century
Forum-Century
Beiträge: 184
Registriert: Do 27. Jan 2011, 19:30

Beitrag von Klaus »

Danke,

das schaue ich mir an! :)


Noch einmal zurück zum Feinschliff des Vortrags. Ich kam auf die Idee, dass ich in meinem Vortrag auch das Stilmittel verwenden kann, die Kurven meiner Graphik nacheinander einzublenden und bereits eingeblendete Kurven dann transparent zu machen.
\documentclass{beamer}

\usepackage{pstricks}
\usepackage{pst-plot}
\usepackage{pstricks-add}
\usepackage{pst-eps}
\usepackage{graphicx}
\usepackage{xcolor}

\begin{document}
%
\begin{frame}{}
 \begin{pspicture}(0,0)(11,6)
	\psset{xAxisLabel=depth,yAxisLabel=number}
	\begin{psgraph}[logLines=all,subticks=1,xylogBase=10,Ox=0,Oy=-3]{->}(0,-3)(3.2,2){8cm}{4cm}
  		\pstScalePoints(1,1){ dup 0 eq { pop -1.e30 }{ log } ifelse}
                	            { dup 0 eq { pop -1.e30 }{ log } ifelse}
%
		\readdata[nStep=2]{\five}{average-depth-time_5.txt}
		\readdata[nStep=2]{\ten}{average-depth-time_10.txt}
		\readdata[nStep=2]{\twenty}{average-depth-time_20.txt}
%
		\setbeamercovered{again covered={\opaqueness<1->{10}}}
%
		\uncover<1>{\listplot[linecolor=red,plotstyle=dots,dotsize=2pt]{\five}}
		\uncover<2>{\listplot[linecolor=blue,plotstyle=dots,dotsize=2pt]{\ten}}
		\uncover<3>{\listplot[plotstyle=dots,dotsize=2pt]{\twenty}}
	\end{psgraph}
\end{pspicture}
\end{frame}
%
\end{document}
Jetzt habe ich den Effekt, dass die drei Kurven durchaus nacheinander eingeblendet werden, jedoch die vorangegangenen Einblendungen nicht transparent werden. Ist da \listplot einfach 'stärker' als der \uncover Befehl mit seinen Eigenschaften wie Transparenz?

Viele Grüße,
Klaus.
Dateianhänge
average-depth-time_5.txt
(18.55 KiB) 532-mal heruntergeladen
average-depth-time_10.txt
(18.55 KiB) 587-mal heruntergeladen
average-depth-time_20.txt
(18.55 KiB) 562-mal heruntergeladen

CrazyHorse
Forum-Guru
Forum-Guru
Beiträge: 252
Registriert: Di 16. Mär 2010, 09:39

Beitrag von CrazyHorse »

Klaus hat geschrieben:Jetzt habe ich den Effekt, dass die drei Kurven durchaus nacheinander eingeblendet werden, jedoch die vorangegangenen Einblendungen nicht transparent werden. Ist da \listplot einfach 'stärker' als der \uncover Befehl mit seinen Eigenschaften wie Transparenz?
Ich verstehe nicht, was du meinst. Ich bekomme das hier: http://voss.homedns.org/demo.pdf

Klaus
Forum-Century
Forum-Century
Beiträge: 184
Registriert: Do 27. Jan 2011, 19:30

Beitrag von Klaus »

Guten Morgen Herbert,
CrazyHorse hat geschrieben: Ich verstehe nicht, was du meinst. Ich bekomme das hier: http://voss.homedns.org/demo.pdf
Ja, das bekomme ich auch.

Und ich hätte es gerne in dem Stil dieses einfachen Beispiels:
\documentclass{beamer}

\begin{document}
%
\begin{frame}{}
      \setbeamercovered{again covered={\opaqueness<1->{30}}}
%
      \uncover<1>{Hello World} \\
      \uncover<2>{Hello World} \\
      \uncover<3>{Hello World}
\end{frame}
%
\end{document} 
Hier wird das erste 'Hello World' zu 30% transparent, wenn das nächste 'Hello World' erscheint.

Und genau diesen Effekt hätte ich auch gerne bei meinen drei Kurven in der \psgraph Umgebung.

Zumindest habe ich diesen Effekt nicht, wenn meine ursprüngliche Datei mit dem Acrobat Reader öffne, für den Fall dass es ein Problem damit ist.

Viele Grüße,
Klaus.

CrazyHorse
Forum-Guru
Forum-Guru
Beiträge: 252
Registriert: Di 16. Mär 2010, 09:39

Beitrag von CrazyHorse »

Klaus hat geschrieben: Und ich hätte es gerne in dem Stil dieses einfachen Beispiels:
Hier wird das erste 'Hello World' zu 30% transparent, wenn das nächste 'Hello World' erscheint.

Und genau diesen Effekt hätte ich auch gerne bei meinen drei Kurven in der \psgraph Umgebung.
das geht so nicht, weil es kein Text ist. Du kannst aber
      \uncover<1>{\listplot[linecolor=red,plotstyle=dots,dotsize=2pt]{\five}}
      \uncover<1>{\listplot[linecolor=blue!20,plotstyle=dots,dotsize=2pt]{\ten}}
      \uncover<1>{\listplot[linecolor=black!10,plotstyle=dots,dotsize=2pt]{\twenty}}
      \uncover<2>{\listplot[linecolor=blue,plotstyle=dots,dotsize=2pt]{\ten}}
      \uncover<3>{\listplot[plotstyle=dots,dotsize=2pt]{\twenty}}
machen.

Herbert

Antworten