[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 »

CrazyHorse hat geschrieben:
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.
Ah, danke schön. :)

Also war meine Vermutung richtig, dass der \uncover Befehl mit dem \psgraph kollidiert. :)

Dann muss man eben tricksen. :)

Viele Grüße,
Klaus.

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

Beitrag von Klaus »

Wieder einmal muss ich dieses Thema öffnen. Und zwar plotte ich nun meine ganzen Daten direkt in Latex.

Dabei erhalte ich nun die Fehlermeldung:
mb.tex:34:TeX capacity exceeded, sorry [main memory size=1500000]. }
Meine erste Vermutung ist einfach, dass LaTex die Menge an Daten nicht verarbeiten kann. Doch eine Suche im Netz ergab recht schnell, dass es damit nicht zwingend zusammenhängen muss, sondern auch einfach falscher Syntax sein kann.

Was allerdings meine Vermutung wieder bekräftigt ist die Tatsache, dass ich die Anzahl an Datenpunkten mit dem Befehl nStep (bei \readdate) verringern kann, indem ich nur jeden hundertsten, fünfhundersten, (nStep=100, 500, ...) usw. Datenpunkt plotten lasse. Und dann funktioiert das Plotten wieder.

Allerdings wäre das generell, schließlich will ich in dem Dokument noch weitere Daten auftragen, somit ist die Datenmente, die kompiliert werden soll noch lange nicht erschöpft. :(

Viele Grüße,
Klaus.
%
% mb.tex
%
\documentclass{scrreprt}

\usepackage{pstricks}
\usepackage{pst-plot}
\usepackage{pstricks-add}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{amsmath,amssymb}

\begin{document}

\begin{pspicture}(0,0)(.9\linewidth,.5\linewidth)

%\psgrid[griddots=5,subgriddiv=0]

\rput[lb](2,1){%
\psset{xAxisLabel=,yAxisLabel=}

\begin{psgraph}[Dx=10,Dy=1000]{->}(0,0)(60,5500){.8\linewidth}{.4\linewidth}

%%%%%%%%%% reading data %%%%%%%%%

\readdata[nStep=1]{\fifty}{NumberOverTime_Run_1_Time_50.txt}

%%%%%%%%%% plotting data %%%%%%%%%

\listplot[plotstyle=line,linewidth=1pt,linecolor=black]{\fifty}

\end{psgraph}

}

\end{pspicture}

\begin{pspicture}(0,0)(.9\linewidth,.5\linewidth)

%\psgrid[griddots=5,subgriddiv=0]

\rput[lb](2,1){%
\psset{xAxisLabel=,yAxisLabel=}

\begin{psgraph}[Dx=10,Dy=1000]{->}(0,0)(60,5500){.8\linewidth}{.4\linewidth}

%%%%%%%%%% reading data %%%%%%%%%

\readdata[nStep=1]{\fifty}{NumberOverTime_Run_1_Time_50.txt}

%%%%%%%%%% plotting data %%%%%%%%%

\listplot[plotstyle=line,linewidth=1pt,linecolor=black]{\fifty}

\end{psgraph}

}

\end{pspicture}
 
\end{document}

%
% EoF
%
Dateianhänge
NumberOverTime_Run_1_Time_50.txt
(6.35 MiB) 578-mal heruntergeladen

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

Beitrag von Klaus »

Oder ein wenig konkreter:

Ich sehe gerade, dass die Datei gerade am Ende nahezu keiner Änderung mehr besitzt.

D.h. als Kompromiss müsste ich die Daten z.B. am Anfang für \nStep=5 plotten, später für \nStep=20 und gegen Ende reicht fast \nStep=50.

Manuell habe ich jetzt einfach mal zwei Dateien draus gemacht, für den Beginn und für das Ende der Datenpunkte.

Aber lässt sich das nicht auch mit Latex selbst 'programmieren' ?

Bin halt Perfektionist. ;)

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: Ich sehe gerade, dass die Datei gerade am Ende nahezu keiner Änderung mehr besitzt.

D.h. als Kompromiss müsste ich die Daten z.B. am Anfang für \nStep=5 plotten, später für \nStep=20 und gegen Ende reicht fast \nStep=50.

Manuell habe ich jetzt einfach mal zwei Dateien draus gemacht, für den Beginn und für das Ende der Datenpunkte.

Aber lässt sich das nicht auch mit Latex selbst 'programmieren' ?
Es geht, würde aber die Anwendung doch erheblich komplizierter machen. Da du der Erste bist, der das braucht, scheint es nicht so gefragt zu sein, so dass deine Lösung ok ist. Denn du kannst ja einafch mit xStart arbeiten.

Herbert

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

Beitrag von Klaus »

Okay. :)

Gruß,
Klaus.

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

Beitrag von Klaus »

Also ich muss das Thema leider wieder aufmachen.

Gerade weil ich versuche die log. Graphik in eine png Datei zu verwandeln.

Hier das Minimalbeispiel:
\documentclass[a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{times}
\usepackage{graphicx}
\usepackage{amsmath,amssymb}
\usepackage{pstricks}
\usepackage{pst-plot}
\usepackage{pstricks-add}
\usepackage{upgreek}
\usepackage{wrapfig}
\usepackage{pst-slpe}
\usepackage{pst-pdf}
%
\pagestyle{empty}
%
\begin{document}
%
\begin{pspicture}(0,-.5)(\linewidth,.5\linewidth)
% \psgrid[griddots=5,subgriddiv=0]
%  \psframe(0,-.5)(\linewidth,.5\linewidth)
%
\rput[lb](2,1){%
\psset{xAxisLabel=,yAxisLabel=}

\begin{psgraph}[logLines=y,Dx=20,ylogBase=10,Ox=0,Oy=-3]{->}(0,-3)(120,3.2){.8\linewidth}{.4\linewidth}

\pstScalePoints(1,1){}{ dup 0 eq { pop -1.e30 }{ log } ifelse}

%%%%%%%%%% reading data %%%%%%%%%

\readdata[nStep=1]{\five}{average-energy-time_5.txt}

%%%%%%%%%% plotting data %%%%%%%%%

	\listplot[plotstyle=dots,linecolor=green,dotsize=2.5pt]{\five}

\end{psgraph}
}
%
  \rput[c]   (.5\linewidth,0){free electron energy [eV]}
  \rput[c]{L}(0.5,.25\linewidth){free electron number}
  
%
\end{pspicture}
%
\end{document}
Im Anhang befindet sich noch die zugehörige Datei, um die Graphen zu plotten.

Und jetzt eben der Knackpunkt.

Ich hänge auch die kompiliert pdf Datei dran, namens mb.pdf

Wenn ich diese Datei mit dem normalen Acrobad Reader aufmache, dann habe ich am unteren Bildrand gründe Punkte, die eigentlich in dieGraphik gehören. Keine Ahnung warum sie dort unten angezeigt werden.
Wenn ich das ganze mit kpdf von Linux öffne, dann wird alles normal angezeigt. Das Problem ist nur, dass ich jetzt gerne in eine png Datei konvertieren würde und dann kriege ich diese ganzen grünen Punkte wieder am unteren Bildschirmrand zu sehen, siehe Anhang mb.png

Ich bin langsam echt am Verzweifeln woher das kommt. :-(

Edit: Kann man vielleicht das ganze auch von einer ps-Datei aus machen?
Also da ich mit PSTricks arbeite, muss ich doch zunächst eh eine ps-Datei erstellen. Gibt es ein Äquivalent von pst-pdf für ps-Dateien? Ein Paket namens pst-ps habe ich leider nicht gefunden.
Auch den Befehel pscrop kennt mein Linux System nicht. :-(

Viele Grüße,
Klaus.
Dateianhänge
average-energy-time_5.txt
(37.11 KiB) 520-mal heruntergeladen
mb.pdf
(6.64 KiB) 571-mal heruntergeladen
mb.png
mb.png (64.24 KiB) 4180 mal betrachtet

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

Beitrag von Klaus »

*bump*

Wirklich keine Idee? Bin ich der erste, bei dem das so aussieht? :shock:

Gruß,
Klaus.

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

Beitrag von CrazyHorse »

Klaus hat geschrieben:*bump*

Wirklich keine Idee? Bin ich der erste, bei dem das so aussieht? :shock:
du sollst ja auch auto-pst-pdf nehmen und dann "pdflatex -shell-escape ..."
Wie auch imemr, lass dieses Beipiel normal mit latex->dvips->ps2pdf laufen und du hast deine PDF:
\documentclass[a4paper]{standalone}
\usepackage{times}
\usepackage{amsmath,amssymb}
\usepackage{pstricks-add}
\usepackage{upgreek}
\usepackage{pst-slpe}
%
\pagestyle{empty}
%
\begin{document}
%
\begin{pspicture}(0,-.5)(\linewidth,.5\linewidth)
% \psgrid[griddots=5,subgriddiv=0]
%  \psframe(0,-.5)(\linewidth,.5\linewidth)
%
\rput[lb](2,1){%
\psset{xAxisLabel=,yAxisLabel=}

\begin{psgraph}[logLines=y,Dx=20,ylogBase=10,Ox=0,Oy=-3]{->}(0,-3)(120,3.2){.8\linewidth}{.4\linewidth}

\pstScalePoints(1,1){}{ dup 0 eq { pop -1.e30 }{ log } ifelse}

%%%%%%%%%% reading data %%%%%%%%%

\readdata[nStep=1]{\five}{average-energy-time_5.txt}

%%%%%%%%%% plotting data %%%%%%%%%

   \listplot[plotstyle=dots,linecolor=green,dotsize=2.5pt]{\five}

\end{psgraph}
}
%
  \rput[c]   (.5\linewidth,0){free electron energy [eV]}
  \rput[c]{L}(0.5,.25\linewidth){free electron number}
 
%
\end{pspicture}
%
\end{document}
Herbert
Dateianhänge
latex6.pdf
(11.53 KiB) 559-mal heruntergeladen

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

Beitrag von Klaus »

So,

nach langer Zeit habe ich mal wieder ein paar Fragen:
CrazyHorse hat geschrieben:
\documentclass{article}
\usepackage{pst-plot}

\begin{document}

\psset{unit=3}
\begin{pspicture}(0,-3)(3,1)
  \psaxes[logLines=all,subticks=5,xylogBase=10,Oy=-3](0,-3)(3,1)
  \pstScalePoints(1,1){ dup 0 eq { pop -1.e-30 }{ log } ifelse}
                      { dup 0 eq { pop -1.e-30 }{ log } ifelse}
  \readdata{\Data}{zz.dat}
  \listplot[plotstyle=dots]{\Data} 
\end{pspicture}

\end{document}  
Es scheint an der Übersetzung von ps zu pdf mittels pdf2ps zu hängen. Ich kriege als Fehlermeldung ewig lange Zahlenkolonnen ausgegeben. :-(

Und noch eine weitere Frage: Gibt es eine Übersicht, über alle Makros von post-script und ein paar gute Beispiele? Ich habe bisher das verwendete eq bisher noch nicht gefunden - vielleicht ist auch mein google-fu zu schwach.

Gute n8
Bei LaTex führen mir manchmal einfach zu viele Wege nach Rom.

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Ich würde dir ja empfehlen ein neues Thema aufzumachen, aber naaja \dots

Du sagst, es gibt ne Fehlermeldung, aber du teilst uns nicht mit welche. Ne log-Datei zur Verfügung zu stellen wär vielleicht auch keine schleechte Idee.

Is das eigentlich ein Tippfehleer, oder versucht du wirklichh mit pdf2ps ne pdf zu erstellen?
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Antworten