PGFPlots를 사용하여 함수 xy/(x^2+2y^2)를 플롯하고 싶습니다. 내가 원하는 것은 다음과 같습니다.
다음 MWE를 고려하십시오.
\documentclass{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a4paper,margin=1in,footskip=0.25in]{geometry}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\pgfplotsset{soldot/.style={color=black,only marks,mark=*}}
\pgfplotsset{holdot/.style={color=red,fill=white,very thick,only marks,mark=*}}
\begin{document}
\begin{center}
\begin{tikzpicture}[declare function={f(\x,\y)=(\x*\y)/(\x*\x+2*\y*\y);}]
\begin{axis} [
axis on top,
axis equal image,
axis lines=center,
xlabel=$x$,
ylabel=$y$,
zlabel=$z$,
zmin=-1,
zmax=1,
ztick={-1,0,0.33,1},
zticklabels={$-1$,$0$,$1/3$,$1$},
ticklabel style={font=\tiny},
legend pos=outer north east,
legend style={cells={align=left}},
legend cell align={left},
view={-135}{25},
]
\addplot3[surf,mesh/ordering=y varies,shader=interp,domain=-1:1,domain y=-1:1,samples=61, samples y=61] {f(x,y)};;
\end{axis}
\end{tikzpicture}
\end{center}
\end{document}
MWE 출력은 믿을 수 없을 정도로 큰 확대/축소 기능을 갖추고 있습니다.scale
플롯 크기 를 조정하고 싶지만 enlarge limits
.그러나 모든 결과는 헛된 것입니다. 내가 원하는 시각적인 모습을 재현할 수 없습니다.
감사해요!!
답변1
(LaTeX 부분) 질문에 대한 답변이 아닙니다. 그러나 극좌표를 사용하는 경우엑스-와이비행기,엑스=아르 자형코사인(ф) 그리고와이=아르 자형죄(ф), 함수가 다음에 의존하지 않는다는 것을 알 수 있습니다.아르 자형하지만 각도에서만. 그래서 원산지와는 거리가 멀다엑스=와이= 0 모든 정보는 이미 1차원 플롯에 있습니다.
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\begin{document}
\begin{tikzpicture}[declare function={fan(\t)=-(sin(2*\t)/(-3 + cos(2*\t)));}]
\begin{axis}
\addplot[domain=0:360,smooth,samples=101] {fan(x)};
\end{axis}
\end{tikzpicture}
\end{document}
그리고 이것은 3D의 부드러운 플롯을 생성합니다.
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\pgfplotsset{soldot/.style={color=black,only marks,mark=*}}
\pgfplotsset{holdot/.style={color=red,fill=white,very thick,only marks,mark=*}}
\begin{document}
\begin{tikzpicture}[declare function={f(\x,\y)=(\x*\y)/(\x*\x+2*\y*\y);
fan(\t)=-(sin(2*\t)/(-3 + cos(2*\t)));}]
\begin{axis} [width=18cm,
axis on top,
axis equal image,
axis lines=center,
xlabel=$x$,
ylabel=$y$,
zlabel=$z$,
zmin=-1,
zmax=1,
ztick={-1,0,0.33,1},
zticklabels={$-1$,$0$,$1/3$,$1$},
ticklabel style={font=\tiny},
legend pos=outer north east,
legend style={cells={align=left}},
legend cell align={left},
view={-135}{25},
data cs=polar,
]
\addplot3[surf,mesh/ordering=y varies,shader=interp,domain=0:360,
domain y=0:1,samples=61, samples y=21,
z buffer=sort] { fan(x)};
\addlegendentry{{$f(x,y)$}}
\end{axis}
\end{tikzpicture}
\end{document}