请考虑这个MWE:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\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}
\begin{axis}[
legend pos=outer north east,
axis lines = center,
label style={font=\tiny},
legend style={font=\tiny},
xticklabel style = {font=\tiny},
yticklabel style = {font=\tiny},
xlabel = $x$,
ylabel = $y$,
clip=false,
legend style={cells={align=left}}
]
\addplot[red,thick] {x*x*x-y*y-y};
\end{axis}
\end{tikzpicture}
\end{center}
\end{document}
Overleaf 抛出了以下错误:
! 软件包 pgfplots 错误:抱歉,您不能在此上下文中使用“y”。PGFPlots 需要采样一条线,而不是一个网格。请使用 [mesh] 选项结合 [samples y>0] 和 [domain y!=0:0] 来指示二维输入域。
所以我改变
\addplot[red,thick] {x*x*x-y*y-y};
为了
\addplot[samples y>0, domain y!=0:0,red,thick] {x*x*x-y*y-y};
但现在出现了4个错误,使用addlegendentry
图片时而不是正常的线。
我想绘制这样的隐函数图:
不使用 gnuplot。那可能吗?
谢谢!
答案1
您希望绘制x^3-y^2-y=0
,这相当于x^3=y^2+y
或x=sign(y^2+y)\cdot|y^2+y|^{1/3}
。
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[axis lines=middle,xlabel=$x$,ylabel=$y$,title=lul]
\addplot[red,domain=-1.1:0.6,samples=101]
({sign(x*x+x)*pow(abs(x*x+x),1/3)},x);
\end{axis}
\end{tikzpicture}
\end{document}