Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Logarithmische Skalierung PS-Plot

  1. #1
    Registrierter Benutzer
    Registriert seit
    28.10.2010
    Beiträge
    47

    Logarithmische Skalierung PS-Plot

    Hallo zusammen,

    ich habe ein kleines Problem mit der logarithmischen Skalierung meiner y-Achse. Eigentlich sollte diese bei 10^-1 beginnen (0y=-1), tut sie aber nicht und ich habe keine Ahnung warum. Jemand ne Idee woran das liegen könnte?

    Code:
    \documentclass[12pt,a4paper,oneside,titlepage]{scrreprt}
    \usepackage[pdf]{pstricks}
    \usepackage{pst-plot}
    
    \begin{document}
    \begin{pspicture}(-0.5,-1.5)(6.5,3)
    
    \psset{xunit=2cm,yunit=2cm}
    
    \psaxes[logLines=y,ylogBase=10, 0y=-1, subticks=10, xsubticks=10, tickwidth=1pt, xticklinestyle=solid, xsubticklinestyle=solid, xticksize=4, xsubticksize=1, Dx=100, dx=1]{->}(0,-1)(6.5,3)[$I/A$,-90][$t/s$,180]
    			
    %AMZ Phase
    \psplot[linecolor=red, linewidth=2pt]{4.01}{6}{0.14 x 4 div 0.02 exp 1 sub div 0.15 mul log}  
    			
    % AMZ Erde
    \psplot[linecolor=blue, linewidth=2pt]{1.01}{6}{13.5 x 1 div 1 sub div 0.3 mul log} 
    % UMZ Erde
    \psplot[linecolor=blue, linewidth=2pt]{4}{6} {0.05 log}
    \psplot[linecolor=blue, linewidth=2pt]{2.5}{4} {0.5 log}
    
    \end{pspicture}
    \end{document}
    TexLive 2010 / Texmaker 2.3 / Debian Squeeze 64bit

  2. #2
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von 4nndee Beitrag anzeigen
    ich habe ein kleines Problem mit der logarithmischen Skalierung meiner y-Achse. Eigentlich sollte diese bei 10^-1 beginnen (0y=-1), tut sie aber nicht und ich habe keine Ahnung warum. Jemand ne Idee woran das liegen könnte?
    nebenbei: du kannst die Funktion auch algebraisch beschreiben:

    Code:
    \documentclass[12pt,a4paper,oneside,titlepage]{scrreprt}
    \usepackage[pdf]{pstricks}
    \usepackage{pst-plot}
    
    \begin{document}
    \begin{pspicture}(-0.5,-1.5)(6.5,3)
    \psset{unit=2cm}
    \psaxes[logLines=y,ylogBase=10,subticks=10,tickwidth=1pt, 
            xticksize=4,xsubticksize=1,Oy=-1,
            Dx=100, dx=1]{->}(0,-1)(6.5,3)[$I/A$,-90][$t/s$,180]
    %AMZ Phase
    \psplot[linecolor=red, linewidth=2pt,algebraic]{4.01}{6}{%  
    		log(0.14/((x/4)^0.02-1)*0.15)}
    % AMZ Erde
    \psplot[linecolor=blue, linewidth=2pt]{1.01}{6}{13.5 x 1 div 1 sub div 0.3 mul log} 
    % UMZ Erde
    \psplot[linecolor=blue, linewidth=2pt]{4}{6} {0.05 log}
    \psplot[linecolor=blue, linewidth=2pt]{2.5}{4} {0.5 log}
    \end{pspicture}
    \end{document}
    Herbert

  3. #3
    Registrierter Benutzer
    Registriert seit
    28.10.2010
    Beiträge
    47
    Zitat Zitat von voss Beitrag anzeigen
    nebenbei: du kannst die Funktion auch algebraisch beschreiben:
    Das vereinfacht natürlich die Sache enorm :-)

    Wo lag jetzt genau mein Fehler? Hat sich da was bei den Parametern für psaxes nicht vertragen?
    TexLive 2010 / Texmaker 2.3 / Debian Squeeze 64bit

  4. #4
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    Zitat Zitat von 4nndee Beitrag anzeigen
    Wo lag jetzt genau mein Fehler?
    so ich das richtig gesehen habe: Oy, nicht 0y.

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  5. #5
    Registrierter Benutzer
    Registriert seit
    28.10.2010
    Beiträge
    47
    Oh man...

    Das is mir nicht mal jetzt aufgefallen. Und das hätte ich bei der nächsten Grafik genau wieder falsch gemacht...
    Ich dachte es hat was damit zu tun das da Parameter in anderer Reihenfolge angegeben werden. Jetzt bin ich schlauer.

    Eine Frage hätte ich aber noch:
    Und zwar haben ich in dem Diagramm jeweils zwei rote und zwei blaue horizontale Linien. Die sollen am Ende jeweils eine "Treppen-Funktion" ergeben, heißt ich will die irgend wie verbinden. Theoretisch würde das ja einfach mit einer Linie gehen, ist durch die logarithmische Skalierung aber nicht mehr ganz so einfach, da ich mir ja jetzt die entsprechenden logarithmischen Werte für Anfangs- und Endpunkt berechnen muss.

    Gibt es eine Möglichkeit die Linien irgend wie einfacher zu verbinden?
    TexLive 2010 / Texmaker 2.3 / Debian Squeeze 64bit

  6. #6
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von 4nndee Beitrag anzeigen
    Eine Frage hätte ich aber noch:
    Und zwar haben ich in dem Diagramm jeweils zwei rote und zwei blaue horizontale Linien. Die sollen am Ende jeweils eine "Treppen-Funktion" ergeben, heißt ich will die irgend wie verbinden. Theoretisch würde das ja einfach mit einer Linie gehen, ist durch die logarithmische Skalierung aber nicht mehr ganz so einfach, da ich mir ja jetzt die entsprechenden logarithmischen Werte für Anfangs- und Endpunkt berechnen muss.

    Gibt es eine Möglichkeit die Linien irgend wie einfacher zu verbinden?
    Die Skalierung ist doch lediglich logarithmisch, das Koordinatensystem nach wie vor linear, da kannst du einfach mit \psline()...() deine Linie ziehen.

    Herbert

  7. #7
    Registrierter Benutzer
    Registriert seit
    28.10.2010
    Beiträge
    47
    Zitat Zitat von voss Beitrag anzeigen
    Die Skalierung ist doch lediglich logarithmisch, das Koordinatensystem nach wie vor linear, da kannst du einfach mit \psline()...() deine Linie ziehen.
    Du hast natürlich wieder mal recht, daher ja auch das "log" am Ende der Formeln. Ich werd das wohl noch ein paar mal machen müssen, bis mir das alles geläufig ist :-)

    Gibt es den aber prinzipiell eine Möglichkeit, solche nicht-stetigen Funktionen plotten zu lassen?
    TexLive 2010 / Texmaker 2.3 / Debian Squeeze 64bit

  8. #8
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von 4nndee Beitrag anzeigen
    Gibt es den aber prinzipiell eine Möglichkeit, solche nicht-stetigen Funktionen plotten zu lassen?
    du brauchst ja nur die horizontalen Linien zu zeichnen, die anderen
    erfolgen inenrhalb von \pscustom automatisch:

    Code:
    \documentclass{article}
    \usepackage{pstricks}
    \pagestyle{empty}
    \begin{document}    
        
    \pspicture[showgrid](6,3)
    \pscustom[linecolor=blue]{
      \moveto(1,0)
      \psline(1,3)(2,3)
      \psline(2,0)(3,0)
      \psline(3,2)(4,2)
      \psline(4,0)(5,0)
      \psline(5,1)(6,1)
    }
    \endpspicture
    \end{document}
    Für längere Verläufe könnte man das auch automatisieren.

    Herbert

  9. #9
    Registrierter Benutzer
    Registriert seit
    28.10.2010
    Beiträge
    47
    Perfekt, Danke :-)
    TexLive 2010 / Texmaker 2.3 / Debian Squeeze 64bit

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •