Dank eurer Links kann ich jetzt einigermaßen plotten zeichnen und beschriften - aber nur innerhalb des Diagramms. Ich habe jetzt 2 Funktionen in meinem Diagramm hinzugefügt bzw. eine vertikale Begrenzungslinie. Jetzt zu meiner Frage wie kann ich "ausserhalb" meines Diagramms Beschriftungen (Pfeile und Formeln) siehe Screenshot (grün) vornehmen. Open in Online-Editor
\documentclass{article} \usepackage{pgfplots} \usepackage{onimage} \begin{document} \begin{tikzpicture} \begin{semilogxaxis} [ enlarge x limits=false, width=11cm, grid=major, samples=33, xmin=9999, xmax=200000000, ymin=0, ymax=333 ] \addplot+[red,thick,mark=none,domain=10000:100000000] {22*(100000000/x)^(1/6)}; \addplot+[red,thin,dashed,mark=none,domain=100000000:1000000000] {22*(100000000/x)^(1/6)}; \draw[green!60!red,thick] ({axis cs:50000000,0}|-{rel axis cs:0,1}) -- ({axis cs:50000000,0}|-{rel axis cs:0,0}); %\put(49,48){\vector(0,-1){10}}% %\put(49,48){\makebox(0,0)[cb]{Mitte}} \end{semilogxaxis} \end{tikzpicture} \end{document} Update: Ich schaffe es nicht die Funktionen zu beschneiden trotz Erklärung. Open in Online-Editor
\documentclass{article} \usepackage{pgfplots} \pgfplotsset{compat=1.14} \begin{document} \begin{tikzpicture} \begin{semilogxaxis} [ no marks, enlarge x limits=false, xmin=10000, xmax=100000000, ymin=0, ymax=200, samples=50, clip=false ] \addplot+[const plot mark right,thin,blue,domain=10000:10000000] table[x=colcount,y=colamplitude] { colamplitude colcount 142.387 1 142.387 50054 }; \addplot+[red,thick,mark=none,domain=10000:1000000] {143.295225788333*(1000000/x)^(1/5)}; \addplot+[red,thin,dashed,mark=none,domain=1000000:1e8] {143.295225788333*(1000000/x)^(1/5)}; \addplot+[red,thick,mark=none,domain=1000000:1000000000] {143.295225788333}; \node[red,left] at (axis cs:1000000,143.295225788333) {\footnotesize $ 143.3 $}; \draw[yellow!30!orange,thick] ({rel axis cs:1,0}|-{axis cs:0,15.8946951655}) -- ({rel axis cs:0,0}|-{axis cs:0,15.8946951655}); \draw[green!70!red,thick,dashed] ({axis cs:1000000,0}|-{rel axis cs:0,1}) -- ({axis cs:1000000,0}|-{rel axis cs:0,0}); \draw [green!70!red,very thickdomain=10000:1e8](axis cs:0,110.1354266585) -- (axis cs:1000000,110.1354266585); \draw [green!70!red,very thick](axis cs:1000000,0) -- (axis cs:1000000,110.1354266585); \node[green!70!red,right] at (axis cs:1000000,110.1354266585) {\footnotesize $ \sigma_{\ddot{a}qu} = 110.1 $}; \node[blue,above right] at (axis cs:10000,142.387) {\footnotesize $ \sigma_{a,1} = 142.4 $}; %*************************************************************************** \draw[black!60!red,ultra thick] ({axis cs:1e6,0}|-{rel axis cs:0,1}) -- ({axis cs:1e6,0}|-{rel axis cs:0,-0.3}) node [below] {$ND$}; \draw[black,thick] ({axis cs:11962354,15.8946951655}) -- ({axis cs:151662354,100}) node[above,right] {$\frac{$\sigma_{WK}$}{jd}$}; \end{semilogxaxis} \end{tikzpicture} \end{document} gefragt 14 Dez '16, 09:56 Neuling |
Ich würde vorschlagen Open in Online-Editor
\documentclass{article} \usepackage{pgfplots} \begin{document} \begin{tikzpicture} \begin{semilogxaxis} [ enlarge x limits=false, width=11cm, grid=major, samples=33, xmin=9999, xmax=200000000, ymin=0, ymax=333 ] \addplot+[red,thick,mark=none,domain=10000:100000000] {22*(100000000/x)^(1/6)}; \addplot+[red,thin,dashed,mark=none,domain=100000000:1000000000] {22*(100000000/x)^(1/6)}; \draw[green!60!red,thick] ({axis cs:50000000,0}|-{rel axis cs:0,1}) -- ({axis cs:50000000,0}|-{rel axis cs:0,0}); \coordinate (A) at ({axis cs:50000000,0}|-{rel axis cs:0,0}); \coordinate (B) at (axis cs:100000000,{22*(100000000/100000000)^(1/6)}); \end{semilogxaxis} \node[pin={below:Bereich 1 zu Ende}] at (A) {}; \node[pin={above right:Formel 2}] at (B) {}; \end{tikzpicture} \end{document} beantwortet 14 Dez '16, 11:54 Henri |
Man kann auch innerhalb einer Open in Online-Editor
\documentclass{article} \usepackage{pgfplots} \pgfplotsset{compat=1.14}% eine compat-Angabe ist immer sinnvoll! \begin{document} \begin{tikzpicture} \begin{semilogxaxis} [ enlarge x limits=false, width=11cm, grid=major, samples=33, xmin=9999, xmax=200000000, ymin=0, ymax=333, clip=false ] \addplot+[red,thick,mark=none,domain=10000:100000000] {22*(100000000/x)^(1/6)}; \addplot+[red,thin,dashed,mark=none,domain=100000000:200000000] {22*(100000000/x)^(1/6)}; \draw[green!60!red,ultra thick] ({axis cs:50000000,0}|-{rel axis cs:0,1}) -- ({axis cs:50000000,0}|-{rel axis cs:0,0}); \draw[blue,thick] ({axis cs:60000000,30}) -- ({axis cs:600000000,100}) node[above,right] {Formel 2}; \end{semilogxaxis} \end{tikzpicture} \end{document} Ja, ich habe die Linie absichtlich blau statt grün gezeichnet, damit man den Unterschied zum vorherigen Bild besser erkennt. Will man bei dem Grün der Bereichslinie bleiben, kann man diese zu deren Beschriftung übrigens einfach nach unten verlängern und ein Open in Online-Editor
\draw[green!60!red,ultra thick] ({axis cs:50000000,0}|-{rel axis cs:0,1}) -- ({axis cs:50000000,0}|-{rel axis cs:0,0}); durch Open in Online-Editor
\draw[green!60!red,ultra thick] ({axis cs:50000000,0}|-{rel axis cs:0,1}) -- ({axis cs:50000000,0}|-{rel axis cs:0,-0.3}) node [below] {Bereich 1 zu Ende}; ersetzen und erhält so: Näheres zu den bei Ist man auf das Clipping zwingend angewiesen, kann man auch innerhalb der Open in Online-Editor
\documentclass{article} \usepackage{pgfplots} \pgfplotsset{compat=1.14}% eine compat-Angabe ist immer sinnvoll! \begin{document} \begin{tikzpicture} \begin{semilogxaxis} [ enlarge x limits=false, width=11cm, grid=major, samples=33, xmin=9999, xmax=200000000, ymin=0, ymax=333 ] \addplot+[red,thick,mark=none,domain=10000:100000000] {22*(100000000/x)^(1/6)}; \addplot+[red,thin,dashed,mark=none,domain=100000000:1000000000] {22*(100000000/x)^(1/6)}; \draw[green!60!red,thick] ({axis cs:50000000,0}|-{rel axis cs:0,1}) -- ({axis cs:50000000,0}|-{rel axis cs:0,0}); \coordinate (Formel2) at ({axis cs:60000000,30}); \coordinate (Bereich1) at ({axis cs:50000000,0}); \end{semilogxaxis} \draw[blue,thick] (Formel2) -- +(2,1) node[above,right] {Formel 2};; \draw[green!60!red,thick] (Bereich1) -- +(0,-1) node[below] {Bereich 1 zu Ende}; \end{tikzpicture} \end{document} beantwortet 14 Dez '16, 10:48 saputello @alle Danke ich habe alles verstanden und ausprobiert bis auf " Damit dann bei den Kurven nicht aus dem Koordinatensystem heraus gezeichnet wird, muss man dort ggf. domain anpassen, was ich hier getan habe...." Nun zu meiner Frage. Kann ich irgendwie eine y-Achse Domain festlegen?Gewisse Funktionen kommen aus einem höheren Y-Bereich "daher" als im Programm als y-Limit definiert ist .. Danke
(14 Dez '16, 14:22)
Neuling
@Neuling: In dem Fall ist es ggf. einfacher, außerhalb der
(14 Dez '16, 15:08)
saputello
|
Es ist meist sinnvoll, mehr als ein Thema anzugeben. Außerdem habe ich mir erlaubt, das Bild zu beschneiden, damit wir nicht eine Seite Weiß zwischen zwischen Bild und Quellcode haben. Dass ich durch indizierte Farben außerdem die Bildgröße auf weniger als 3½ KByte reduzieren konnte, ist dagegen nur ein Schmankerl und kann man nicht verlangen.
Bitte beachte, dass Du
pgfplots
immer mit einercompat
-Angabe laden solltest. Für nicht allgemein verfügbare Pakete wieonimage
sollte man immer eine Download-Möglichkeit angeben. Daonimage
im Beispiel gar nicht verwendet wird, empfehle ich es wegzulassen. Außerdem habe ich Farbangabe und Liniendicke korrigiert, weil esextra thick
im Beispiel gar nicht gibt.