Seite 1 von 1

TeXlive + TikZ + pgfplots

Verfasst: Do 14. Nov 2013, 19:55
von lukaskk1703
Guten Abend!

Ich verwende Texniccenter mit TeXlive und habe mithilfe von Geogebra TikZ Code erstellt. In diesem soll unter anderem eine Sinus Funktion geplottet werden. Ich wollte dies mit dem Paket pgfplots erledigen, allerdings funktioniert es überhaupt nicht. Linien weden zwar angezeigt, nicht jedoch die alles entscheidene Sinusfunktion.
\documentclass[12pt ,a4paper, headsepline, footsepline]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage{geometry}
\usepackage[onehalfspacing]{setspace}
\usepackage{graphicx}
\usepackage{pgf,tikz}
\usepackage{pgfplots}
\usetikzlibrary{arrows}


\begin{document}
Text...
\definecolor{xdxdff}{rgb}{0.49,0.49,1}
\definecolor{uuuuuu}{rgb}{0.27,0.27,0.27}
\definecolor{wqwqwq}{rgb}{0.38,0.38,0.38}
\definecolor{uququq}{rgb}{0.25,0.25,0.25}
\begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
\draw[->,color=black] (-1.94,0) -- (13.26,0);
\foreach \x in {,2,4,6,8,10,12}
\draw[shift={(\x,0)},color=black] (0pt,2pt) -- (0pt,-2pt);
\draw[color=black] (12.83,0.05) node [anchor=south west] { $t$};
\draw[->,color=black] (0,-0.57) -- (0,3.66);
\foreach \y in {,1,2,3}
\draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt);
\draw[color=black] (0.13,3.37) node [anchor=west] {$\sigma$};
\clip(-1.94,-0.57) rectangle (13.26,3.66);
\draw, smooth,samples=100,domain=-1.9399019795843035:13.257251925120714] plot(\x,{sin(((\x))*180/pi)+2});
\draw (3.78,2.83) node[anchor=north west] {$\sigma_a$};
\draw, smooth,samples=100,domain=-1.9399019795843035:13.257251925120714] plot(\x,{2});
\draw, smooth,samples=100,domain=-1.9399019795843035:13.257251925120714] plot(\x,{3});
\draw, smooth,samples=100,domain=-1.9399019795843035:13.257251925120714] plot(\x,{1});
\draw (3.54,2)-- (3.54,3);
\draw (8.05,2.64) node[anchor=north west] {$\Delta \sigma$};
\draw (6.28,2)-- (6.28,0.65);
\draw (12.57,2)-- (12.57,0.65);
\draw (6.28,0.65)-- (12.57,0.65);
\draw (9.28,0.75) node[anchor=north west] {$T$};
\draw (-0.73,3.42) node[anchor=north west] {$\sigma_o$};
\draw (-0.7,2.51) node[anchor=north west] {$\sigma_m$};
\draw (-0.73,1.04) node[anchor=north west] {$\sigma_u$};
\draw (7.85,3)-- (7.86,2);
\end{tikzpicture}
\end{document}
Das Diagramm mit den Linien werden angezeigt, mehr jedoch nicht. Ich erhalte mehrfach diese Fehlermeldung: "undefinded control sequence" Was mache ich falsch? Ich habe mir einiges im Internet durchgelsen, allerdings ohne Erfolg...

Vielen Dank für Eure Hilfe,
Lukas

Lieber selbst zeichnen

Verfasst: Do 14. Nov 2013, 20:51
von localghost
Der Export von Geogebra ist ziemlicher Murks. Alle Zeilen, die plot enthalten, haben einen Klammerfehler. Dabei ist ",␣" durch [ zu ersetzen.

Der exportierte Code ist insgesamt suboptimal. Mit ordentlichem, handgeschriebenem Code lässt sich das erheblich verkürzen. Unverständlich ist insbesondere, warum für waagerechte Linien eine (konstante) Funktion gezeichnet wird.

Und pgfplots brauchst du hier gar nicht, weil hier bisschen davon verendet wird.


Thorsten

Verfasst: Do 14. Nov 2013, 21:08
von lukaskk1703
Hi Thorsten!
Danke für Deine schnelle Antwort. Das mit den konstanten Funktionen liegt an mir, das habe ich Geogebra so mitgeteilt, da ich TikZ überhaupt nicht beherrsche.
Aber das Erstetzen verstehe ich nicht. Ich habe kein einziges ",␣" gefunden. Wie meinst Du das?

Viele Grüße,
Lukas

Anreiz

Verfasst: Do 14. Nov 2013, 21:46
von localghost
lukaskk1703 hat geschrieben:[…] Aber das Erstetzen verstehe ich nicht. Ich habe kein einziges ",␣" gefunden. Wie meinst Du das? […]
Das "␣" ist als Symbol für ein Leerzeichen zu verstehen. Überprüfe folgende Zeilen.
\draw, smooth,samples=100,domain=-1.9399019795843035:13.257251925120714] plot(\x,{sin(((\x))*180/pi)+2});
\draw, smooth,samples=100,domain=-1.9399019795843035:13.257251925120714] plot(\x,{2});
\draw, smooth,samples=100,domain=-1.9399019795843035:13.257251925120714] plot(\x,{3});
\draw, smooth,samples=100,domain=-1.9399019795843035:13.257251925120714] plot(\x,{1}); 
Bevor ich jetzt deinen gesamten Code hier korrigiert wiedergebe, gebe ich dir lieber einen Anreiz zum Erlernen von TikZ.
\documentclass[border=2pt]{standalone}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usetikzlibrary{arrows}

\begin{document}
  \begin{tikzpicture}[>=triangle 45]
    \draw[->] (-0.5*pi,-2) -- (4.5*pi,-2) node[above left] {$t$};
    \draw[->] (0,-2.5) -- (0,2) node[below right] {$\sigma$};
    \foreach \y/\i in {-1/u,0/m,1/o} {
      \draw (-0.5*pi,\y) -- (4.5*pi,\y);
      \node[above left] at (0,\y) {$\sigma_\i$};
    }
    \foreach \x in {2,4,...,12}
      \draw[shift={(0,-2)}] (\x,2pt) -- (\x,-2pt);
    \draw (1.25*pi,0) -- (1.25*pi,1) node[midway,right] {$\sigma_a$};
    \draw (2.5*pi,0) -- (2.5*pi,1) node[midway,right] {$\Delta\sigma$};
    \draw (2*pi,0) --  (2*pi,-1.5) -- (4*pi,-1.5) node[midway,below] {$T$} -- (4*pi,0);
    \draw[smooth,samples=100,domain=-0.5*pi:4.5*pi] plot (\x,{sin(\x*180/pi)});
  \end{tikzpicture}
\end{document}
Bild

Verfasst: Fr 15. Nov 2013, 17:09
von lukaskk1703
OK, vielen Dank für Deine Hilfe! Ich werde versuchen, in Zukunft selber den gesamten Code zu schreiben... Vorerst hast Du mir jedoch sehr geholfen.

Viele Grüße,
Lukas