![Como fazer gráfico paramétrico?](https://rvso.com/image/305915/Como%20fazer%20gr%C3%A1fico%20param%C3%A9trico%3F.png)
Gostaria de saber como fazer vários parâmetros em pgfplot
? No código usei x
e y
como parâmetros para desenhar a esfera, com radiuse 1cm
. Quando adicionei x=2cm
, y=2cm
, z=2cm
, para que o gráfico ficasse melhor:
\documentclass{book}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{center}
\begin{tikzpicture}[scale=1,font=\tiny]
\begin{axis}[
axis x line=middle,
axis y line=middle,
axis z line=middle,
colormap/jet,
samples=40,
view={130}{30},
domain=-4:4,
y domain=-4:4,
restrict z to domain=-4:4,
grid=both,
xlabel={$x$},
ylabel={$y$},
zlabel={$z$},
xmax=2,
ymax=2,
zmax=2,
xmin=-2,
ymin=-2,
zmin=-2,
xtick={-10,...,10},
ytick={-10,...,10},
ztick={-10,...,10},
x=2cm,
y=2cm,
z=2cm,
every axis x label/.style={
at={(ticklabel* cs:1)},
anchor=west,},
every axis y label/.style={
at={(ticklabel* cs:1)},
anchor=south,},
every axis z label/.style={
at={(ticklabel* cs:1)},
anchor=west,}
]
\addplot3 [
samples=30,
domain=0:2*pi,
y domain=0:2*pi,
]
({cos(y*180/pi)*cos(x*180/pi)},
{cos(y*180/pi)*sin(x*180/pi)}, {sin(y*180/pi)});
\end{axis}
\end{tikzpicture}
\end{center}
\end{document}
Infelizmente, quando os adicionei, view
a função parou de funcionar. Como resolver o problema e desenhar a grade apenas no XY
plano?
Responder1
pgfplots
manual tem este aviso!
Para eixos tridimensionais, pgfplots calcula uma direção de visão a partir dos vetores unitários fornecidos. A direção de visualização é necessária para permitir o recurso de buffer z (ou seja, para decidir sobre profundidades)
na página 241, seção 4.10 da versão 1.11. Portanto, quando você altera as unidades do eixo, o ângulo de visão muda.
Se a ideia é ampliar, pode usar scale
chave.
\documentclass{book}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{center}
\begin{tikzpicture}[scale=1,font=\tiny]
\begin{axis}[
%x post scale=2,
% y post scale=2,
% z post scale=2,
scale=2,
axis x line=middle,
axis y line=middle,
axis z line=middle,
colormap/jet,
samples=40,
view={130}{30},
domain=-4:4,
y domain=-4:4,
restrict z to domain=-4:4,
grid=both,
xlabel={$x$},
ylabel={$y$},
zlabel={$z$},
xmax=2,
ymax=2,
zmax=2,
xmin=-2,
ymin=-2,
zmin=-2,
xtick={-10,...,10},
ytick={-10,...,10},
ztick={-10,...,10},
every axis x label/.style={
at={(ticklabel* cs:1)},
anchor=west,},
every axis y label/.style={
at={(ticklabel* cs:1)},
anchor=south,},
every axis z label/.style={
at={(ticklabel* cs:1)},
anchor=west,}
]
\addplot3 [
samples=30,
domain=0:2*pi,
y domain=0:2*pi,
]
({cos(y*180/pi)*cos(x*180/pi)},
{cos(y*180/pi)*sin(x*180/pi)}, {sin(y*180/pi)});
\end{axis}
\end{tikzpicture}
\end{center}
\end{document}