Zeichnen außerhalb des Wertebereichs mit pgfplots

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: Zeichnen außerhalb des Wertebereichs mit pgfplots

von esdd » Sa 8. Jun 2019, 17:57

Du kannst auch die Länge einer Einheit für die x- und y-Richtung vorgeben:
\documentclass[tikz,border=5pt]{standalone} 
\usepackage{pgfplots} 
\pgfplotsset{compat=newest} 
\begin{document} 
\begin{tikzpicture} 
\begin{axis}[ 
xmin=0,xmax=65,xtick={0,5,...,60},ymin=-65,ymax=65, 
axis x line=middle,
axis y line =none,
x=1mm,y=1mm% <- Länge einer Einheit vorgeben
] 
\coordinate (x) at (0,0);
\draw (1,0) arc (0:180:.5); 
\draw (3,0) arc (0:-180:1); 
\end{axis} 
\end{tikzpicture}
\end{document}
und eventuell noch clip=false setzen:
\documentclass[tikz,border=5pt]{standalone} 
\usepackage{pgfplots} 
\pgfplotsset{compat=newest} 
\begin{document} 
\begin{tikzpicture} 
\begin{axis}[ 
xmin=0,xmax=65,xtick={0,5,...,60},ymin=-1,ymax=1,% <- geändert
axis x line=middle,
axis y line =none,
x=1mm,y=1mm,% <- Länge einer Einheit vorgeben
clip=false% <- ergänzt
] 
\coordinate (x) at (0,0);
\draw (1,0) arc (0:180:.5); 
\draw (3,0) arc (0:-180:1); 
\end{axis} 
\end{tikzpicture}
\end{document}

von ThoRie » Sa 8. Jun 2019, 15:53

Also ein Kommilitone hat mich gerade auf meine Dummheit aufmerksam gemacht, so dass ich den Code berichtigen konnte:
\documentclass[tikz,border=5pt]{standalone} 
\usepackage{pgfplots} 
\pgfplotsset{compat=newest} 
\begin{document} 
\begin{tikzpicture} 
\begin{axis}[ 
xmin=0,xmax=65,xtick={0,5,...,60},ymin=-65,ymax=65,
axis x line=middle,%<- angeglichen, damit die Halbkreise um die x-Achse liegen
axis y line =none,
yscale=2%<- neu eigefügt, damit es wirklich Halbkreise werden
] 
\draw (1,0) arc (0:180:.5); 
\draw (3,0) arc (0:-180:1); 
\end{axis} 
\end{tikzpicture} 
\end{document}

Auslagerung

von Stamm- » Sa 8. Jun 2019, 15:53

Ganz abgesehen davon, dass Du eine veraltete Syntax für \arc verwendest, kannst Du die Bögen außerhalb von 'axis' zeichnen. Der Radius bedarf dann möglicherweise einer Anpasssung.
\documentclass[tikz,border=2pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}
  \begin{tikzpicture}
    \begin{axis}[
      xmin=0,
      xmax=65,
      xtick={0,5,...,60},
      ymin=0,
      ymax=65,
      axis x line=bottom,
      axis y line =none
    ]
    \end{axis}
    \draw (1,0) arc[start angle=0,delta angle=180,radius=0.5];
    \draw (1,0) arc[start angle=180,delta angle=180,radius=1];
  \end{tikzpicture}
\end{document}

Zeichnen außerhalb des Wertebereichs mit pgfplots

von ThoRie » Sa 8. Jun 2019, 14:33

Hallo, ich habe ein Problem mit dem folgenden Code:
\documentclass[tikz,border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0,xmax=65,xtick={0,5,...,60},ymin=0,ymax=65,axis x line=bottom,axis y line =none
]
\draw (1,0) arc (0:180:.5);
\draw (3,0) arc (0:180:1); %eigentlich: \draw (3,0) arc (0:-180:1);
\end{axis}
\end{tikzpicture}
\end{document}
Die Aufgabestellung ist, dass die Halbkreise jeweils abwechselnd ober- und unterhalb des Zahlenstrahls liegen sollen.
Deswegen habe ich es in axis versucht, da ich hier wenigstens gleich die Beschriftung des Strahles (x-Achse) generieren lassen kann.
Allerdings kann der zweite Halbkreis nicht unterhalb der Achse angezeigt werden, da das ja laut Achsendefinition faktisch nicht da ist. Ich habe auch versucht den Code anzupassen:
\documentclass[tikz,border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0,xmax=65,xtick={0,5,...,60},ymin=-65,ymax=65,axis x line=bottom,axis y line =none
]
\draw (1,0) arc (0:180:.5);
\draw (3,0) arc (0:-180:1);
\end{axis}
\end{tikzpicture}
\end{document}
Was aber dabei passiert, kann man sehen, wenn man diesen Code kompiliert.

Hat jemand hier vielleicht Ahnung davon und kann mir mit dem Problem helfen? :?

Nach oben