Anzeige:
Ergebnis 1 bis 3 von 3

Thema: pgfplot - scale

  1. #1
    Registrierter Benutzer
    Registriert seit
    28.07.2000
    Ort
    D-77797
    Beiträge
    120

    pgfplot - scale

    Hallo,

    ich habe ein kleines Problem mit pgfplot. Da ich aktuell sowohl unter Windows (MikTex 2.8) wie auch Linux (Paket: texlive-base (2009-11)) arbeite erhalte ich für folgendes Beispiel zwei unterschiedliche Ausgaben ..
    Code:
    \documentclass[
        a4paper,11pt,
        oneside,
        final,
        ]{scrartcl}
    \usepackage[european]{circuitikz}
    \usepackage{tikz}
    \usetikzlibrary{decorations.markings}
    \usetikzlibrary[matrix]
    \usepackage{verbatim}
    \usepackage{pgfplots}
    
    \usepackage{amsfonts, amssymb} %, amsxtra, amsopn}
    \usepackage{amsmath}                                            
     
    \begin{document}
     
    \begin{tikzpicture}[xscale=1., yscale=1.,
    		]
    
        \pgfplotsset{every axis legend/.append style={ at={(1.02,1)}, anchor=north west}}
    
        \begin{axis}[
            xscale=1., yscale=0.5,
            grid=both,
            xmode=normal, ymode=normal,
            minor y tick num=1,
            xmin=-3.1415,
            xmax=3.1415,
            ymin=-1.1,
            ymax=1.1,
            enlargelimits=false,
            ]
    
            \addplot[mark=., blue, loosely dashed]
                    expression [domain=-3.15:3.15]{sin(x/3.1415*180)} ;
            \addplot[mark=., green!80!black, densely dashed ]
                    expression [domain=-3.15:3.15]{cos(x/3.1415*180)} ;
    
            \legend{
                $\sin x$,
                $\cos x$,
                };
    
        \end{axis}
    
    \end{tikzpicture}
    
    \begin{tikzpicture}[xscale=1., yscale=1.,
    		]
    
        \pgfplotsset{every axis legend/.append style={ at={(1.02,1)}, anchor=north west}}
    
        \begin{axis}[
            xscale=1., yscale=1.,
            grid=both,
            xmode=normal, ymode=normal,
            minor y tick num=1,
            xmin=-3.1415,
            xmax=3.1415,
            ymin=-1.1,
            ymax=1.1,
            enlargelimits=false,
            ]
    
            \addplot[mark=., blue, loosely dashed]
                    expression [domain=-3.15:3.15]{sin(x/3.1415*180)} ;
            \addplot[mark=., green!80!black, densely dashed ]
                    expression [domain=-3.15:3.15]{cos(x/3.1415*180)} ;
    
            \legend{
                $\sin x$,
                $\cos x$,
                };
    
        \end{axis}
    
    \end{tikzpicture}
    
    \end{document}
    Unter Linux sind beide Legenden am oberen rechten Eck plaziert, unter Windows sitzt die Legende des skalierten Diagramms dann unglücklicherweise auf der Hälfte. Die Position der Legende wird also zwei mal skaliert ....

    das könnte ein Problem durch unterschiedliche Versionen sein oder einfach ein Bug, allerdings hilft mir das auf die Schnelle nicht weiter.

    hat jemand eine Idee, wie ich die aktuelle Umgebung mit einbeziehen kann?
    wenn Windows, dann x, wenn Linux dann y?

    grüße

    Reinhard

    ps: stehe etwas unter Zeitdruck ;-) und bin dankbar für jeden Tip.

  2. #2
    Registrierter Benutzer
    Registriert seit
    28.07.2000
    Ort
    D-77797
    Beiträge
    120

    Arrow

    ok, so funktioniert es zumindest hier im beispiel ...

    Code:
    \def\systemx{1}
    \def\systemy{1}
    
    \begin{tikzpicture}[xscale=1., yscale=1.,
    		]
    	
    		\def\yscale{0.75};
    		\def\lyscale{\yscale/\systemy};
    		\def\xscale{1.5};
    		\def\lxscale{\xscale/\systemx};
    
        \pgfplotsset{every axis legend/.append style={ at={(1.02/\lxscale,1/\lyscale)}, anchor=north west}}
    
        \begin{axis}[
            xscale=\xscale, yscale=\yscale,
    
        .....
    andere Vorschläge sind herzlich willkommen ...

  3. #3
    Registrierter Benutzer
    Registriert seit
    28.07.2000
    Ort
    D-77797
    Beiträge
    120
    man sollte die Doku richtig lesen ...

    es gibt die Parameter:
    Code:
     width=xxcm,
     height=yycm,
    dann hat man auch keine Probleme mit der Legende ...

Lesezeichen

Berechtigungen

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