当我在 LaTeX 代码中更改一个选项时,图中的 x 刻度标签就会消失。
这是我的原始代码:
\documentclass{article}
\usepackage{fp}
\usepackage{pgfplots}
\pgfplotsset{width=15cm, compat=1.12}
\newcommand{\tG}{20}
\newcommand{\xI}{150}
\newcommand{\vL}{16.67}
\newcommand{\aA}{1.2}
\newcommand{\aB}{1.5}
\FPeval\vResult{\aB * \vL / (\aA + \aB)}
\newcommand{\vS}{\vResult}
\FPeval\xResult{\xI - (\vS)^2 / (2*\aB)}
\newcommand{\xS}{\xResult}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xlabel=$x_G$,ylabel=$v_G$,
domain=0:\xI,
y domain=0:20,
enlargelimits=false,
view={0}{90}]
\addplot3[surf,shader=interp]
{\tG - x/\vL + (\vL-y)^2/(2*\aA*\vL)};
\addplot3[contour gnuplot={draw color=black},thick]
{\tG - x/\vL + (\vL-y)^2/(2*\aA*\vL)};
\addplot3[black,
quiver={
u={-1/\vL},
v={-(\vL-y)/(\aA*\vL)},
scale arrows=2,
},
-stealth,samples=15]
{\tG - x/\vL + (\vL-y)^2/(2*\aA*\vL)};
\addplot[red]
{\vL};
\addplot[red,samples=101]
{sqrt( (\xI - x)*(2*\aB) )};
\addplot[mark=x, mark size=5] coordinates {(\xS,\vS)} node[label={[label distance=0cm]45:{$(x^*,v^*)$}}]{} ;
\end{axis}
\end{tikzpicture}
\end{document}
和我的原始输出
当我通过添加一行来更改代码时,它就变成
\begin{tikzpicture}
\begin{axis}[
axis x line=middle,
...
这是结果
如您所见,x 轴刻度标签消失了,我不知道为什么。我认为这可能与我使用 3D 图有关。有什么想法可以让我恢复标签(并确保 x 轴位于 y=0)?