pgfplot lineare Funktion nicht korrekt

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: pgfplot lineare Funktion nicht korrekt

von wojoeraf » Do 20. Jun 2013, 15:39

Danke Epllus,

zumindest weiß ich jetzt warum es so ist und kenne eine Möglichkeit, das zu richten.

Wer die passende Option kennt, darf sie gerne noch hier reinschreiben. :)

Viele Grüße
Rafi

von Epllus » Do 20. Jun 2013, 14:41

Des Rätsels Lösung findest du heraus, wenn du die Grafen mit den Achsen plottest. pgfplots zeigt immer nur die Ausschnitte, die nötig sind, sprich in denen was abgebildet wird. Die lineare Gleichung geht von y=3 zu y=7, also wird nur der Teil abgebildet. y=0-2 wird aber nicht abgebildet, deshalb „rutscht“ die Gleichung nach unten und ist bei der handgenerierten Achse an dem falschen Platz.
Fügst du nun die exponentielle Funktion hinzu, die bei y=0 beginnt, passt das ganze.

Ich hoffe ich habe es geschafft das Problem zu erklären.
Zur Lösung könntest du ein simples \addplot{0}; einfügen (vermutlich gibt es auch eine Option, die mir im Moment aber nicht einfällt):
\documentclass{report} 
\usepackage{pgfplots} 
\usepackage{pgf,tikz} 
\usetikzlibrary{arrows} 

\begin{document} 
\begin{tikzpicture}[>=triangle 45,x=1.0cm,y=1.0cm] 
\draw [dotted, gray, step=0.5cm] (-6.4,-1.4) grid (7.4,9.4); 
\draw [-triangle 45, line width = 1.5pt] (-6,0) -- (7,0); 
\draw [-triangle 45, line width = 1.5pt] (0,-1) -- (0,9); 
\foreach \x in {-6,-5,...,6} 
   \draw [line width = 1.5pt] (\x,4pt) -- ++(0pt,-8pt); 
\foreach \y in {-1,0,...,8} 
   \draw [line width = 1.5pt] (-4pt,\y) -- ++(8pt,0pt); 
\node [rectangle, fill=white, below, inner ysep=0.8em, inner xsep=0.8em, label={center:1}] at (1,-4pt) {}; 
\node [rectangle, fill=white, left, inner ysep=0.6em, inner xsep=0.8em, label={center:1}] at (-4pt,1) {}; 
\node [rectangle, fill=white, label={center:$x$}, below=7pt] at (7,0) {}; 
\node [rectangle, fill=white, label={center:$y$}, left=7pt] at (0,9) {}; 

\begin{axis}[disabledatascaling, 
         axis lines=none, 
         no markers, 
         domain=-6:2, 
         samples=50, 
         x=1cm, 
         y=1cm, 
         anchor=origin, 
         ] 
\addplot {0.5*x+6}; 
\addplot{0};
%\addplot {exp(x)}; 

\end{axis} 
\end{tikzpicture} 
\end{document} 
Hoffe es hilft
Epllus

pgfplot lineare Funktion nicht korrekt

von wojoeraf » Do 20. Jun 2013, 12:50

Hallo,

habe rausgefunden, wie ich pgfplots in meinem Koordinatensystem verwenden kann. Jedoch klappt das bei einer simplen linearen Funktion grade nicht, wohingegen z.B. die Exponentialfunktion korrekt in mein Koordinatensystem integriert wird. Kann jemand helfen?

Verrückterweise wird die lineare Funktion korrekt dargestellt, wenn man die Exponentialfunktion mit plottet.
\documentclass{report}
\usepackage{pgfplots}
\usepackage{pgf,tikz}
\usetikzlibrary{arrows}

\begin{document}
\begin{tikzpicture}[>=triangle 45,x=1.0cm,y=1.0cm]
\draw [dotted, gray, step=0.5cm] (-6.4,-1.4) grid (7.4,9.4);
\draw [-triangle 45, line width = 1.5pt] (-6,0) -- (7,0);
\draw [-triangle 45, line width = 1.5pt] (0,-1) -- (0,9);
\foreach \x in {-6,-5,...,6}
	\draw [line width = 1.5pt] (\x,4pt) -- ++(0pt,-8pt);
\foreach \y in {-1,0,...,8}
	\draw [line width = 1.5pt] (-4pt,\y) -- ++(8pt,0pt);
\node [rectangle, fill=white, below, inner ysep=0.8em, inner xsep=0.8em, label={center:1}] at (1,-4pt) {};
\node [rectangle, fill=white, left, inner ysep=0.6em, inner xsep=0.8em, label={center:1}] at (-4pt,1) {};
\node [rectangle, fill=white, label={center:$x$}, below=7pt] at (7,0) {};
\node [rectangle, fill=white, label={center:$y$}, left=7pt] at (0,9) {};

\begin{axis}[disabledatascaling,
			axis lines=none,
			no markers,
			domain=-6:2,
			samples=50,
			x=1cm,
			y=1cm,
			anchor=origin,
			] 
\addplot {0.5*x+6};
%\addplot {exp(x)};

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

Nach oben