Ich versuche die folgende Funktion zu zeichnen
Das Problem ist, dass ich nicht weiß, welche Einstellung für die coordinate
s am besten ist. Ich habe verschiedene coordinate
s ohne Erfolg ausprobiert. Hier ist mein Code:
\begin{tikzpicture}
\begin{axis}
\addplot[smooth ] coordinates {
(0,45)
(5,40)
(10,35)
(15,30)
(20,25)
(25,20)
(30,15)
(35,10)
(40,5)
(45,10)
(50,15)
(55,20)
(60,25)
(65,30)
(70,35)
(75,40)
(80,35)
(85,35)
(90,35)
(95,35)
(100,35)
(150,30)
(200,28)
(250,25)
(300,25)
(400,24)
(500,21)
(600,18)
(700,17)
(800,15)
(900,10)
(1000,8)
(1024,5)
};
\end{axis}
\end{tikzpicture}
was mir das folgende Bild gibt.
Antwort1
Wenn Sie eine handgezeichnete Kurve reproduzieren und die smooth
Interpolation verwenden möchten, verwenden Sie besserwenigerPunkte:
\documentclass[]{standalone}
\usepackage{xcolor}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ytick={30,45},yticklabels={min,max},xtick={10,200,1024},xticklabels={$10$,$20$,$1024$}]
\addplot[smooth] coordinates {
(0,45)
(200,28)
(400,40)
(800,30)
(1024,28)
};
\end{axis}
\end{tikzpicture}
\end{document}
(Beachten Sie die „falsche“ X-Skala, wie in Ihrem handgezeichneten Bild)
Alternativ können Sie eine Funktion oder ein Polynom darstellen, das einer ähnlichen Kurve folgt: zum Beispiel cos(x)/x
.
Antwort2
\draw
Sie können es auch in Innenräumen verwenden axis
.
\documentclass[11pt]{article}
\usepackage{color}
\usepackage{tikz} % for flowcharts
%\usepackage[latin1]{inputenc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin=0,xmax=1100,ymin=0,ymax=50,ytick={12,45},yticklabels={min,max},
xtick={10,200,1024},xticklabels={$10$,$20$,$1024$}]
\draw[rounded corners=10ex]
(0,45) --
(10,45) --
(350,5) --
(700,40)--
(1024,8) --
(1080,8);
\end{axis}
\end{tikzpicture}
\end{document}
Passen Sie die Koordinaten entsprechend Ihren Anforderungen an.