我正在尝试绘制 3D 曲线的不同视图,但我想从头开始定义轴和绘图样式;我无法做到这一点。以下是代码和我得到的结果:
\documentclass[tikz,border=2mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}[
declare function ={
ex(\x)=cos(\x)*sin(2*\x);
ye(\x)=cos(\x)*cos(2*\x);
ze(\x)=sin(\x);
}
]
\pgfplotsset{
every axis post/.append style={
trig format plots=rad,
scale=0.7
}
every axis plot/.append style={
blue,
domain=0:2*pi,
samples=120
}
}
\begin{axis}
\addplot3 ({ex(x)},{ye(x)},{ze(x)});
\end{axis}
\begin{axis}[xshift=7cm, view/h=120,view/v=90]
\addplot3 ({ex(x)},{ye(x)},{ze(x)});
\end{axis}
\end{tikzpicture}
\end{document}
我想要的是以下内容(将所有上述选项写入每个axis
环境和每个\addplot
宏中):
曲线颜色确实会显示,但其余选项不会。我真的不知道我是否使用了正确的语法来显示这些键;这显然是正确的语法,因为我可以毫无错误地进行编译,但我显然缺少了一些东西来获得我想要的东西,而且我似乎无法在手册中找到它。提前致谢!
答案1
pgfplotsset
您忘记在两个部分(every axis post
部分和部分)之间添加逗号。此外,您还需要在后面every axis plot
设置一个空选项来触发常规设置。[]
\addplot3
梅威瑟:
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}[
declare function ={
ex(\x)=cos(\x)*sin(2*\x);
ye(\x)=cos(\x)*cos(2*\x);
ze(\x)=sin(\x);
}
]
\pgfplotsset{
every axis post/.append style={
trig format plots=rad,
scale=0.7
},
every axis plot/.append style={
purple,
domain=0:2*pi,
samples=120
}
}
\begin{axis}
\addplot3[] ({ex(x)},{ye(x)},{ze(x)});
\end{axis}
\begin{axis}[xshift=7cm, view/h=120,view/v=90]
\addplot3[] ({ex(x)},{ye(x)},{ze(x)});
\end{axis}
\end{tikzpicture}
\end{document}
结果: