Tikz -> \addplot -> Sinus (Skalierungsproblem)

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Tikz -> \addplot -> Sinus (Skalierungsproblem)

von MasterWizz » Do 30. Aug 2018, 09:10

Wow vielen Dank für die schnelle Antwort und die zusätzlichen Kommentare :)

von esdd » Do 30. Aug 2018, 08:04

Du kannst die Längen einer Einheit in x- und y-Richtung vorgeben:
\documentclass[11pt]{article}

\pagestyle{empty}
\usepackage[ngerman]{babel}

%Tikz
\usepackage{pgfplots}% lädt auch tikz
\pgfplotsset{compat=newest}% <- compat immer direkt nach dem Laden setzen; aktuelle Version =1.16
\usepgfplotslibrary{fillbetween}
\usetikzlibrary{patterns}


%%%%%%%%%%%BEGINN DOKUMENT%%%%%%%%%%%
\begin{document}
\begin{minipage}[t]{0cm}\hfill
\begin{tikzpicture}
  \begin{axis}[
      axis lines = middle, 
      xlabel=$x$, 
      xlabel style={at=(current axis.right of origin), anchor=south},
      ylabel=$y$, 
      ylabel style={at=(current axis.above origin), anchor=base east},
      xmin=-180,xmax=360,ymin=-1,ymax=1,
      xtick = {-180,-90,...,360},
      xticklabels = {$-\pi$,$-\frac{\pi}{2}$,0,$\frac{\pi}{2}$,$\pi$,$\frac{3}{2}\pi$,$2\pi$},
      ytick ={-1,0,1},
      yticklabels ={$-1$,$0$,$1$},
      enlarge x limits=.05,
      enlarge y limits=.2,
      y=1cm,% <- ergänzt
      x=0.017444cm% <- ergänzt
      ]

\addplot[blue,thick,samples=300,domain=-180:360]{sin(x)};


\addplot[red,dashed,domain=-180:-45]{1};
\addplot[red,dashed,domain=0:360]{1};

\addplot[red,dashed,domain=-180:-70]{-1};
\addplot[red,dashed,domain=0:360]{-1};

\end{axis}
\end{tikzpicture}
\end{minipage}
\end{document}

Tikz -> \addplot -> Sinus (Skalierungsproblem)

von MasterWizz » Do 30. Aug 2018, 02:53

Hey Leute,
ich habe ein kleines Problem, für das ihr sicher bereits eine einfache Lösung kennt. Gibt es für meinen TeX-Code einen Befehl, damit die Skalierung zwischen x- und y-Achse so dargestellt wird, dass x=180° auch wirklich x=3,14 entsprechen? Hier scheint 1 Einheit in y-Richtung gleich pi Einheiten in x-Richtung zu entsprechen, das gefällt mir nicht.

Von der Berechnung mit Gradzahlen möchte ich nur ungern abweichen, weil sich die Plots so "leichter kontrollieren" lassen, finde ich.

EDIT: Für Schönheitsoperationen am Code und weiteren Ideen habe ich aber jederzeit ein offenes und interessiertes Ohr :)
\documentclass[11pt]{article}

\pagestyle{empty}
\usepackage[ngerman]{babel}

%Tikz
\usepackage{tikz}
\usepackage{etex}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
\usetikzlibrary{patterns}


%%%%%%%%%%%BEGINN DOKUMENT%%%%%%%%%%%
\begin{document}
\begin{minipage}[t]{0cm}\hfill
\begin{tikzpicture}
  \begin{axis}[
      axis lines = middle, 
      xlabel=$x$, 
      xlabel style={at=(current axis.right of origin), anchor=south},
      ylabel=$y$, 
      ylabel style={at=(current axis.above origin), anchor=base east},
      xmin=-180,xmax=360,ymin=-1,ymax=1,
      xtick = {-180,-90,...,360},
      xticklabels = {$-\pi$,$-\frac{\pi}{2}$,0,$\frac{\pi}{2}$,$\pi$,$\frac{3}{2}\pi$,$2\pi$},
      ytick ={-1,0,1},
      yticklabels ={$-1$,$0$,$1$},
      enlarge x limits=.05,
      enlarge y limits=.2
      ]

\addplot[blue,thick,samples=300,domain=-180:360]{sin(x)};


\addplot[red,dashed,domain=-180:-45]{1};
\addplot[red,dashed,domain=0:360]{1};

\addplot[red,dashed,domain=-180:-70]{-1};
\addplot[red,dashed,domain=0:360]{-1};

\end{axis}
\end{tikzpicture}
\end{minipage}
\end{document}

Nach oben