PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PSTRICKS: psaxes logarithmische Skalierung



mechanicus
31-03-2009, 16:06
Hallo,

Ich habe eine Sorge mit der logarithmischen Skalierung.

Die logarithmischen Linien sind nicht durchgezogen.
Die vertikale Linie bei 10^1 (siehe Bsp) wird durch die horizontalen Linien überlagert. Es es möglich, die Reihenfolge zu vertauschen?

Das Problem 1 tritt allerdings nur bei doppelt-logarithmischer Skalierung auf.

Minimalbeispiel:

\documentclass{article}
\usepackage{pst-plot,pstricks-add}
\pagestyle{empty}
\parindent=0pt

% hier einige Beispliledaten
\begin{filecontents*}{testZ.dat}
1 0.732477261
2 0.180662983
3 0.384524422
4 0.991825613
5 1.976495726
6 3.627745665
7 5.34620506
8 9.771455224
9 16.39950678
10 23.99350649
11 40.27102514
12 69.14523044
13 91.02794574
14 135.472973
15 190.098534
16 247.3251029
17 317.4562682
18 345.913884
19 427.8586279
20 651.3545347
21 981.6451394
22 1304.102977
23 1585.585586
24 1967.549805
25 2712.312312
26 3675.567423
27 3858.622242
28 3622.610141
29 3455.882353
30 3771.382572
31 4480.254199
32 4075.804777
33 4162.325199
34 4422.501496
35 5128.383067
36 5933.209647
37 5582.247557
38 6395.759717
39 7214.590242
40 5395.683453
41 4688.841202
42 4084.62867
43 3844.37299
44 3029.288703
45 2379.50938
46 1764.367816
47 2032.838155
48 2451.166811
49 2254.658385
50 2377.756472
51 2668.020305
52 3660.522932
53 5248.669905
54 7592.225307
55 8359.212618
56 7860.996111
57 9954.825462
58 12832.61183
59 13201.05048
60 19705.80903
61 97354.49735
62 170492.215
63 213329.1219
64 223668.1223
65 219428.0385
66 209986.0821
67 159235.4642
68 185487.0004
69 166118.3059
70 151514.1087
71 169915.9021
72 158330.4104
73 122485.0385
74 100809.3776
75 117113.5884
\end{filecontents*}

\begin{document}

\readdata{\data}{testZ.dat}

\section{Double logarithm}
\psset{xunit=6cm, yunit=0.9cm}
\begin{pspicture}(0,-2)(2,7)
\psaxes [axesstyle=frame, xylogBase=10, logLines=all,%
xticksize=0 8, yticksize=0 2,%
tickwidth=1pt,subtickwidth=0.6pt,%
subticks=10,Oy=-2](0,-2)(2 ,6)
\psset{linewidth=2pt}
\pstScalePoints(1,1){log}{log}
\listplot[linecolor=red]{\data}
\end{pspicture}

\end{document}



Gruß
Marco

voss
31-03-2009, 17:06
Ich habe eine Sorge mit der logarithmischen Skalierung.

Die logarithmischen Linien sind nicht durchgezogen.
Die vertikale Linie bei 10^1 (siehe Bsp) wird durch die horizontalen Linien überlagert. Es es möglich, die Reihenfolge zu vertauschen?

Das Problem 1 tritt allerdings nur bei doppelt-logarithmischer Skalierung auf.



da fehlt noch subticksize=1, sonst sind alle subticks nur 75% von den Hauptlinien

Herbert

mechanicus
31-03-2009, 17:08
Hallo,

ich wusste, es ist nur was kleines.

Danke dir.

Gruß
Marco

voss
31-03-2009, 17:09
ich wusste, es ist nur was kleines.


trotzdem überlege ich gerade, ob das bei logarithmischen Achsen
nicht automatisch erfolgen sollte ...

Herbert

mechanicus
31-03-2009, 17:15
trotzdem überlege ich gerade, ob das bei logarithmischen Achsen
nicht automatisch erfolgen sollte ...

Herbert

sinnvoll finde ich schon. Nicht nur, weil ich es eben verplant habe. ;)

Gruß
Marco

mechanicus
31-03-2009, 20:58
sinnvoll finde ich schon. Nicht nur, weil ich es eben verplant habe. ;)

Vielleicht als Ergänzung, Auf jeden Fall sinnvoll bei axestyle=frame.

Gruß
Marco

voss
31-03-2009, 21:32
Vielleicht als Ergänzung, Auf jeden Fall sinnvoll bei axestyle=frame.


ich bin schon wieder am Zweifeln, weil ja auch das im Buch Seite 182
gehen muss (15-1-48.ltx). Andererseits kann man die auch nachträglich
ändern, wenn sie per Definition bei log auf 1 stehen.

grübel, grübel ... :(

Herbert

mechanicus
01-04-2009, 06:18
grübel, grübel ... :(
Hallo,

ich habe mal in der pstricks-add.tex den default auf 1 gesetzt:

\define@key[psset]{pstricks-add}{subticksize}[1]{\def\psk@xsubticksize{#1}\def\psk@ysubticksize{#1 }}
Wollte mal probieren, auch wenn es keine Änderungen gibt, wenn der default auf 1 gesetzt wird, dann sind folgende Bsp auch verkehrt:


\documentclass{ttctexa}
\pagestyle{empty}
\setlength\textwidth{201.7051pt}
\setlength\parindent{0pt}
\StartShownPreambleCommands
%\usepackage{mypstricks-add}
\usepackage{pstricks-add}
\StopShownPreambleCommands
\begin{document}

\begin{pspicture}(-1,-1)(2,2)
\psaxes[ticks=x,subticks=5]{->}(0,0)(-1,-1)(2,2)
\end{pspicture}
\begin{pspicture}(-1,-1)(2,2)
\psset{subticksize=1}
\psaxes[ticks=x,subticks=5]{->}(0,0)(-1,-1)(2,2)
\end{pspicture}

\end{document}


Gruß
Marco

voss
01-04-2009, 06:46
ich habe mal in der pstricks-add.tex den default auf 1 gesetzt:

\define@key[psset]{pstricks-add}{subticksize}[1]{\def\psk@xsubticksize{#1}\def\psk@ysubticksize{#1 }}
Wollte mal probieren, auch wenn es keine Änderungen gibt, wenn der default auf 1 gesetzt wird, dann sind folgende Bsp auch verkehrt:


nein, die sind richtig. subticksize bezieht sich ja _nur_ auf ticksize, indem es die
realtive Länge von einem Haupttick angibt. Wenn du also subticksize auf 1 setzt,
heißt das lediglich, dass sie genauso lang sind wie die Hauptticks. Ich sehe
nachher mal näher nach, wie man das am besten für logLines anpasst.

Herbert

voss
01-04-2009, 19:28
Ich sehe
nachher mal näher nach, wie man das am besten für logLines anpasst.


mit http://voss.homedns.org/PSTricks/pstricks-add/pstricks-add.tex
sollte das folgende problemlos gehen.

Herbert


\psset{xunit=6cm, yunit=0.9cm}
\begin{pspicture}(0,-2)(2,7)
\psaxes[axesstyle=frame, xylogBase=10,logLines=all,
tickwidth=1pt,subtickwidth=0.6pt,
subticks=10,Oy=-2](0,-2)(2 ,6)
\psset{linewidth=2pt}
\pstScalePoints(1,1){log}{log}
\listplot[linecolor=red]{\data}
\end{pspicture}