我正在尝试制作参数图,但由于某种原因它不起作用。
\documentclass{article}
\usepackage{pgfplots}
\usepackage{amsmath,amsthm,amssymb}
\pgfplotsset{every axis/.append style={
axis x line=middle, % put the x axis in the middle
axis y line=middle, % put the y axis in the middle
axis line style={<->,color=blue}, % arrows on the axis
xlabel={$x$}, % default put x on x-axis
ylabel={$y$}, % default put y on y-axis
}}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=-8,xmax=6,
ymin=-8,ymax=6,
grid=both,
]
\addplot [domain=-3:3,samples=50]({2.5\sin^2(-5x)2^{\cos(\cos(4.28(2.3x)))}},{2.5\sin(\sin(-5x))\cos^2(4.28(2.3x))});
\end{axis}
\end{tikzpicture}
\end{document}
答案1
是domain=-3:3,samples=50
一个选项\addplot
,应该将其括为,[domain=-3:3,samples=50]
并且在您的代码中\addplot
没有参数,为其提供数据文件或要绘图的函数。\addplot [domain=-3:3,samples=50] {x};
例如y=x
将从中绘图-3 to +3
。
为了绘制参数曲线,而不是给出{x}
,\addplot
应该接收\addplot [domain=-3:3,samples=50]({x^3-3*x},{3*x^2-9});
或使用某些变量t
而不是x
(对我来说至少这感觉更直观!),\addplot [domain=-3:3,samples=50,variable=\t]({t^3-3*t},{3*t^2-9});
将绘制x(t)=t^3-3d
和之间y(t)=3t^2-9
的和。t
-3
3
看绘制参数曲线, 尤其cmhughes 的回答以获取带有 的参数图的完整示例pgfplots
。
答案2
您不应该以 TeX 语法输入要绘制的函数,而应该以允许计算的方式输入。
回想一下,cos
并sin
逐渐接受他们的论点,所以你必须转换论点。
\documentclass{article}
\usepackage{pgfplots}
\usepackage{amsmath,amsthm,amssymb}
\pgfplotsset{
every axis/.append style={
axis x line=middle, % put the x axis in the middle
axis y line=middle, % put the y axis in the middle
axis line style={<->,color=blue}, % arrows on the axis
xlabel={$x$}, % default put x on x-axis
ylabel={$y$}, % default put y on y-axis
}
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=-5,xmax=5,
ymin=-5,ymax=5,
grid=both,
]
\addplot[domain=-30:30,samples=100,variable=\t](%
{2.5 * (sin(deg(-5*t)))^2 * 2^(cos(deg(cos(deg(4.28*2.3*t)))))},%
{2.5 * (sin(deg(sin(deg(-5*t))))) * (cos(deg(4.28*2.3*t)))^2}%
);
\end{axis}
\end{tikzpicture}
\end{document}
增加样本数量会产生大的黑色斑点。