Fläche zwischen Funktionen einfärben

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: Fläche zwischen Funktionen einfärben

von Bartman » Mi 30. Jan 2019, 22:53

\documentclass{standalone}
\usepackage{pgfplots}% lädt tikz

\usepgfplotslibrary{fillbetween}

\begin{document}
\begin{tikzpicture}[every plot/.append style={samples=50}]
\pgfdeclarelayer{background layer}% siehe Kapitel 112 in pgfmanual.pdf
\pgfsetlayers{background layer,main}

\draw[name path=f, green!70!black, line width=0.7pt]
	plot[domain=-3:3] (\x,{(\x)^2})
	node[right] {$f$}
;
\draw[name path=g, red!70!black, line width=0.7pt]
	plot[domain=-3:3] (\x,{sin(\x r) +3})
%	plot[domain=-3:3] (\x,{0.3*e^\x +1})
	node[right] {$g$}
;

% Fläche füllen
\begin{pgfonlayer}{background layer}
\fill[
	lightgray!20,
	intersection segments={
	   of=f and g,
	   sequence={A1 -- B1[reverse]}% <- geändert
	}
];
\end{pgfonlayer}
\end{tikzpicture}
\end{document}
Meine Quelle

von maedsi94 » Mi 30. Jan 2019, 22:22

Super, vielen Dank!

Ich habe gerade einige Funktionen ausprobiert und es funktioniert soweit auch ganz gut. Wenn ich jedoch für eine Funktion den Sinus verwende, ist ein Stück überschüssige Fläche zu sehen:
\documentclass{standalone}
\usepackage{pgfplots}% lädt tikz

\usepgfplotslibrary{fillbetween}

\begin{document}
\begin{tikzpicture}[every plot/.append style={samples=50}]
\draw[name path=f, green!70!black, line width=0.7pt]
plot[domain=-3:3] (\x,{(\x)^2})
node[right] {$f$}
;
\draw[name path=g, red!70!black, line width=0.7pt]
plot[domain=-3:3] (\x,{sin(\x r) +3})
node[right] {$g$}
;

% Fläche füllen
\fill[
lightgray!20,
intersection segments={
	of=f and g,
	sequence={A1 -- B1}
}
];
\end{tikzpicture}
\end{document}
Dasselbe Ergebnis erhalte ich auch für eine e-Funktion (0.3*e^x +1)...

von Bartman » Mi 30. Jan 2019, 21:02

Für das Füllen der Fläche könntest Du die Bibliothek fillbetween von pgfplots benutzen:
\documentclass{standalone}
\usepackage{pgfplots}% lädt tikz

\usepgfplotslibrary{fillbetween}

\begin{document}
\begin{tikzpicture}[every plot/.append style={samples=50}]
\draw[name path=f, green!70!black, line width=0.7pt] 
	plot[domain=-3:3] (\x,{(\x)^2}) 
	node[right] {$f$}
;
\draw[name path=g, red!70!black, line width=0.7pt] 
	plot[domain=-3:3] (\x,{-(\x)^2+4})
	node[right] {$g$}
;
     
% Fläche füllen
\fill[
	lightgray!20,
	intersection segments={
		of=f and g,
		sequence={A1 -- B1}
	}
];
\end{tikzpicture}
\end{document}

Fläche zwischen Funktionen einfärben

von maedsi94 » Mi 30. Jan 2019, 20:02

Hallo zusammen,

ich will gerne die Fläche zwischen zwei Funktionen einfärben. Zum Zeichnen der Funktionen verwende ich das Paket tikz.

Ich habe bereits einige Foren durchforstet...mit mäßigem Erfolg. Mein aktueller Stand ist der folgende:
\documentclass{standalone} 

\usepackage{tikz}
\usetikzlibrary{calc,intersections}


\begin{document}
	\begin{tikzpicture}[every plot/.append style={samples=50}]
		\fill[lightgray!20] plot[domain=-2:2] (\x,{(\x)^2})
		-- plot[domain=2:-2] (\x,{-(\x)^2+4});
		\draw[name path=f, green!70!black, line width=0.7pt] plot[domain=-3:3] (\x,{(\x)^2})
		node[right] {$f$};
		\draw[name path=g, red!70!black, line width=0.7pt] plot[domain=-3:3] (\x,{-(\x)^2+4})
		node[right] {$g$};
		
		%markieren der Schnittpunkte 
		\fill[name intersections={of=f and g, by={A,B}}]
		(A)circle(2pt)
		(B)circle(2pt);
	\end{tikzpicture}
\end{document}


Dabei wird zwar die Fläche zwischen den Graphen eingefärbt, allerdings muss ich die Grenzen, in denen der Zwischenraum gefüllt wird, selbst eingeben (aktuell ist "zu viel" gefärbt). Dazu jetzt meine Frage(n):

Gibt es eine Möglichkeit die x-Koordinaten der berechneten Intersections auszulesen und in die domain einlesen zu lassen?
Gibt es eine elegantere Möglichkeit zu dem gewünschten Ergebnis zu gelangen?
Sind die Lösungen übertragbar auf andere Funktionen (zB Fläche zwischen Gerade und Parabel, etc.)?

Vielen Dank!

Nach oben