![如何製作參數圖?](https://rvso.com/image/305915/%E5%A6%82%E4%BD%95%E8%A3%BD%E4%BD%9C%E5%8F%83%E6%95%B8%E5%9C%96%EF%BC%9F.png)
我想知道如何在 中設定多個參數pgfplot
?在程式碼中,我使用x
和y
作為繪製球體的參數,並使用radiuse 1cm
.當我添加x=2cm
, y=2cm
, z=2cm
, 以使情節看起來更好:
\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}
不幸的是,當我添加它們時,view
功能停止工作。如何解決該問題並僅以XY
普通方式繪製網格?
答案1
pgfplots
說明書有這個警告!
對於三維軸,pgfplots 根據提供的單位向量計算視圖方向。需要視圖方向來允許 z 緩衝區功能(即決定深度)
1.11 版第 241 頁,第 4.10 節。因此,當您懸掛軸單位時,它會改變視角。
如果想要放大,可以使用scale
key。
\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}