x 目盛りラベルが消える

x 目盛りラベルが消える

LaTeX コードのオプションを 1 つ変更すると、図の 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}

そして私のオリジナルの出力

ここに画像の説明を入力してください

コードを1行追加して変更すると、

\begin{tikzpicture}
\begin{axis}[
axis x line=middle,
...

これが結果です

ここに画像の説明を入力してください

ご覧のとおり、x 軸の目盛りラベルが消えてしまいましたが、その理由はわかりません。3D プロットを使用していることが関係しているのではないかと思います。ラベルを元に戻す方法 (および x 軸が y=0 に配置されていることの確認) はありますか?

答え1

私は変更することで問題を解決しました

axis x line=middle,

axis lines=middle,

これは次の式と同等である。

axis x line=middle,
axis y line=middle,

これで、x 軸に目盛りラベルが表示されます。なぜこれが機能するのかはわかりません。

ここに画像の説明を入力してください

関連情報