Ich versuche, eine Linie zu zeichnen, die sich entlang eines 3D-Diagramms bewegt, um den Integrationsbereich darzustellen.
Die schwarze Linie unten stellt den Grenzwert für den Integrationsbereich dar. Ich hätte gerne eine Spur der Linie, die sich entlang der Oberfläche der Funktion bewegt. Hier ist das MWE:
\PassOptionsToPackage{usenames,dvipsnames,table,x11names}{xcolor}
\documentclass[a4paper, 12pt]{article}
\usepackage{pgfplots}
\usepgfplotslibrary{colormaps,fillbetween}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
zmax=15,
zmin=0,
view = {45}{45},
grid=minor,
colormap={mycol}{color=(Tan), color=(Tan)},
xlabel = $s$,
ylabel = $h$,
zlabel = {$f(s,h)$},
ticks = none,
]
\addplot3[
surf,
samples=30,
domain=0:1.5,
opacity=0.5,
]
{12*exp(-(4*x+3*y))};
\draw[black, thick] (0,0,0) -- (1.5,1.5,0);
\addplot3 [name path = xline, draw = none, domain=0:1.5] (x,0,0);
\addplot3 [name path = xcurve, domain=0:1.5, y domain = 0:0, draw = none]
(x, 0, {12*exp(-(4*x))});
\addplot [color = Tan, opacity = 0.5, draw = none]
fill between[of = xcurve and xline];
\addplot3[
mesh,
draw=Bittersweet,
samples=30,
domain=0:1.5,
opacity = 0.75
]
{12*exp(-(4*x+3*y))};
% Attempt 1
%\addplot3 [domain=0:1.5, black, thick, samples=30] (x,x,{12*exp(-(4*x+3*y))});
%Attempt 2
%\addplot3 [domain=0:1.5, black, thick, samples=30] (x,x,{12*exp(-(7*x))});
\end{axis}
\end{tikzpicture}
Die beiden auskommentierten Zeilen am Ende, die ich Versuch 1 und Versuch 2 genannt habe, sind nämlich meine beiden Versuche, dies zu tun. Hier ist das Ergebnis für jeden von ihnen:
Versuch 1
Versuch 2
Versuch 1 ist ein Chaos, aber Versuch 2 kommt dem, was ich will, sehr nahe, zieht aber eine Linie über die Start- und Endpunkte der Funktion. Irgendwelche Vorschläge, wie ich das beheben könnte?
Antwort1
samples y=1
Sie waren bereits auf dem richtigen Weg. Mit einem zweiten Versuch können Sie erreichen, was Sie möchten .
(Außerdem habe ich einige kleinere Optimierungen an Ihrem Code vorgenommen. Weitere Einzelheiten finden Sie in den Kommentaren im Code.)
% used PGFPlots v1.16
\documentclass[border=5pt]{standalone}
\usepackage[dvipsnames]{xcolor}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
\pgfplotsset{
compat=1.16,
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
zmax=15,
zmin=0,
view={45}{45},
grid=minor,
colormap={mycol}{color=(Tan), color=(Tan)},
xlabel=$s$,
ylabel=$h$,
zlabel={$f(s,h)$},
ticks=none,
% (moved common options here)
domain=0:1.5,
samples=30,
]
\addplot3[
surf,
opacity=0.5,
% removed one `\addplot' by adding the next line
faceted color=Bittersweet,
] {12*exp(-(4*x+3*y))};
\draw [black, thick] (0,0,0) -- (1.5,1.5,0);
\addplot3 [
name path=xline,
draw=none,
] (x,0,0);
\addplot3 [
name path=xcurve,
% replaced this ...
% y domain=0:0,
% by ...
samples y=1,
draw=none,
] (x,0,{12*exp(-(4*x))});
\addplot [color=Tan, opacity=0.5]
fill between [of=xcurve and xline];
% Attempt 2
\addplot3 [
black,
thick,
samples y=1, % <-- added
] (x,x,{12*exp(-7*x)});
\end{axis}
\end{tikzpicture}
\end{document}