pgfplot 中奇怪的勾号出现在图的顶部

pgfplot 中奇怪的勾号出现在图的顶部

我正在尝试创建一个非常简单的图,并且几乎得到了所需的结果,除了图顶部有一个非常奇怪的 x 刻度。这是 MWE:

\documentclass{standalone}

\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}

  \begin{axis}[
      unit vector ratio*=1 1 1,
      xmin=-1.5,xmax=1.5,
      ymin=0,ymax=1.5,
      axis line style={draw=none},
      xtick={0},
      xticklabels={$i$},
      ymajorticks=false,
  ]

  \draw[ultra thin] (axis cs:\pgfkeysvalueof{/pgfplots/xmin},0) -- (axis cs:\pgfkeysvalueof{/pgfplots/xmax},0);   

  \addplot [] coordinates {
      (-1.5, 1.5) (0, 0) };
  \addplot [] coordinates {
      (0,0) (1.5,1.5)};

\end{axis}    
\end{tikzpicture}

\end{document}

在此处输入图片描述

我可以使用xmajorticks=false,,但是这不仅会删除顶部的勾号,还会删除底部的勾号和标签(我需要的)。

答案1

这个刻度没有什么奇怪的,默认行为是在两侧都有刻度,因此 x 轴有顶部和底部,y 轴有左侧和右侧。

添加

xtick pos=bottom

在设置之前axis line style只在底部获取刻度。

在此处输入图片描述

\documentclass[border=5mm]{standalone}

\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}

  \begin{axis}[
      unit vector ratio*=1 1 1,
      xmin=-1.5,xmax=1.5,
      ymin=0,ymax=1.5,
      xtick pos=bottom, % <-- add before axis line style
      axis line style={draw=none},
      xtick={0},
      xticklabels={$i$},
      ymajorticks=false,
  ]

  \draw[ultra thin] (axis cs:\pgfkeysvalueof{/pgfplots/xmin},0) -- (axis cs:\pgfkeysvalueof{/pgfplots/xmax},0);   

  \addplot [] coordinates {
      (-1.5, 1.5) (0, 0) };
  \addplot [] coordinates {
      (0,0) (1.5,1.5)};

\end{axis}    
\end{tikzpicture}

\end{document}

相关内容