PSTricks Problem: psaxes zählt nicht richtig!

Tabellen und Grafiken erstellen und anordnen


irie1210
Forum-Anfänger
Forum-Anfänger
Beiträge: 14
Registriert: Di 12. Mai 2009, 10:41

PSTricks Problem: psaxes zählt nicht richtig!

Beitrag von irie1210 »

Hallo zusammen,

ich habe ein Problem mit einer Achsenbeschriftung mit PSTricks. Ich möchte die Y-Achse von 0,62 bis 0,65 in Schritten von 0,005 beschriften. Hier mein Minimalbeispiel:
\documentclass[parskip]{scrartcl}
\usepackage{pst-plot}
\usepackage{auto-pst-pdf}
\begin{document}
\begin{figure}[hbtp]
\centering
\psset{xunit=7.33,yunit=166.67}
\begin{pspicture}(0,0)(1.8,0.03)    
\psaxes[linewidth=0.5\pslinewidth, Ox=0.5, Dx=0.2, Oy=0.62, Dy=0.005](0,0)(1.8,0.0301) 
\end{pspicture}
\end{figure}
\end{document} 
Die erste Zahl am Ursprung wird richtig bei 0.62 angezeigt. Die restlichen sechs Zahlen an der Y-Achse sind dann aber: 0.067,0.072 usw..

Anscheinend rechnet PSTricks 0,062 plus 0,005, aber wieso? Ich bin völlig verwirrt. Bei der Beschriftung der X-Achse habe ich genau die gleichen Anforderungen (Start bei einem Wert ungleich null, Festlegung des Intervalls) und dort funktioniert es.

Kann jemand helfen?

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

Re: PSTricks Problem: psaxes zählt nicht richtig!

Beitrag von CrazyHorse »

irie1210 hat geschrieben: ich habe ein Problem mit einer Achsenbeschriftung mit PSTricks. Ich möchte die Y-Achse von 0,62 bis 0,65 in Schritten von 0,005 beschriften.
Die erste Zahl am Ursprung wird richtig bei 0.62 angezeigt. Die restlichen sechs Zahlen an der Y-Achse sind dann aber: 0.067,0.072 usw..

Anscheinend rechnet PSTricks 0,062 plus 0,005, aber wieso? Ich bin völlig verwirrt. Bei der Beschriftung der X-Achse habe ich genau die gleichen Anforderungen (Start bei einem Wert ungleich null, Festlegung des Intervalls) und dort funktioniert es.
\psaxes[linewidth=0.5\pslinewidth, Ox=0.5, Dx=0.2, 
  Oy=0.620, Dy=0.005](0,0)(1.8,0.0301)
Die Anzahl der Dezimalstellen muss gleich sein, also
Oy=0.620, Dy=0.005]

Es wäre ohnehin besser, nicht erst eine irrwitzig große Skalierung der
y-Achse zu wählen, um dann mit klitzekleinen Werten zu arbeiten:
\psset{xunit=7.33,yunit=1.6667}
\begin{pspicture}(0,0)(1.8,3)    
\psaxes[linewidth=0.5\pslinewidth, Ox=0.5, Dx=0.2, 
  Oy=0.620, Dy=0.005,dy=1cm](0,0)(1.8,3)
\end{pspicture}
Herbert

irie1210
Forum-Anfänger
Forum-Anfänger
Beiträge: 14
Registriert: Di 12. Mai 2009, 10:41

Re: PSTricks Problem: psaxes zählt nicht richtig!

Beitrag von irie1210 »

Danke funktioniert jetzt!
CrazyHorse hat geschrieben: Es wäre ohnehin besser, nicht erst eine irrwitzig große Skalierung der
y-Achse zu wählen, um dann mit klitzekleinen Werten zu arbeiten:
Damit ich was draus lerne: Wie würde man es denn richtig machen?

Die Daten, die ich plotten will gehen von 0.5-2.15 sec (x-Achse) und 0.623-0.647 (Y-Achse). Ich habe jetzt die Datei an mein Beispiel angepasst, indem ich von jedem X-Wert 0,5 und von jedem Y-Wert 0
62 abgezogen habe.

Die Messdatendateien sind angehängt.
Dateianhänge
messdaten_manipuliert.txt
(11.54 KiB) 382-mal heruntergeladen
messdaten_orig.txt
(11.6 KiB) 374-mal heruntergeladen

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

Re: PSTricks Problem: psaxes zählt nicht richtig!

Beitrag von CrazyHorse »

irie1210 hat geschrieben:Danke funktioniert jetzt!
CrazyHorse hat geschrieben: Es wäre ohnehin besser, nicht erst eine irrwitzig große Skalierung der
y-Achse zu wählen, um dann mit klitzekleinen Werten zu arbeiten:
Damit ich was draus lerne: Wie würde man es denn richtig machen?

Die Daten, die ich plotten will gehen von 0.5-2.15 sec (x-Achse) und 0.623-0.647 (Y-Achse). Ich habe jetzt die Datei an mein Beispiel angepasst, indem ich von jedem X-Wert 0,5 und von jedem Y-Wert 0
62 abgezogen habe.
\documentclass[parskip]{scrartcl}
\usepackage{pst-plot}
\begin{document}

\readdata{\data}{/tmp/Download/messdaten_orig.txt}
\psset{llx=-7mm,lly=-7mm}
\begin{psgraph}[Ox=0.5, Dx=0.2, 
  Oy=0.620, Dy=0.005,dy=1cm](0,2)(2.5,5){0.9\textwidth}{6cm}
\pstScalePoints(1,1){}{ 0.62 sub 100 mul 2 add}
\listplot[linewidth=1.5pt,linecolor=blue]{\data}
\end{psgraph}

\end{document} 
Mit \pstScalePoints kannst du deine Daten manipulieren ohne diese
selbst verändern zu müssen. Hier ziehe ich von jeden y-Wert 0.62 ab, multipliziere sie dann mit 100 und weil ich die y-Achse bei 2 beginnen lasse, addiere ich eben nochmal 2. So bekomme ich eine bessere Ansicht der Daten.

Herbert
Dateianhänge
x.png
x.png (7.64 KiB) 1482 mal betrachtet

Antworten