评论

评论

我想在 x 轴上添加一些小刻度,但不是每个值都添加(太多了!)。所以我想我可以每 2 个单位添加一次。然而,minor tick length这里似乎被忽略了。

这是我的代码:

\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{figure}[h]
  \centering
  \begin{tikzpicture}
    \begin{axis} [
      xbar,
      xlabel={Number of dots},
      ylabel={Blue value},
      scale only axis,
      axis lines=left,
      xmin=0,
      xmajorgrids=true,
%      minor x tick num={2},
      minor tick length=2,
      enlarge y limits={abs=1},
      ]
      \addplot[draw=none, fill=green!30]
      coordinates {(0,0)(30,1)};
    \end{axis}
  \end{tikzpicture}
\end{figure}
\end{document}

图表如下:

X 条形图

答案1

minor tick length控制次要刻度的长度(多大),而不是它们之间的间隔。 在您的例子中,它不会被忽略;它会被遵守并转换为2pt(您可以使用更大的值(例如50)来检查这一点)。

如果要在 x 坐标的偶数值处放置小刻度,则可以使用minor xtick如下方法

minor xtick={2,4,...,28}

完整示例:

\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{figure}[h]
  \centering
  \begin{tikzpicture}
    \begin{axis} [
      xbar,
      xlabel={Number of dots},
      ylabel={Blue value},
      scale only axis,
      axis lines=left,
      xmin=0,
      xmajorgrids=true,
      minor xtick={2,4,...,28},
      enlarge y limits={abs=1},
      ]
      \addplot[draw=none, fill=green!30]
      coordinates {(0,0)(30,1)};
    \end{axis}
  \end{tikzpicture}
\end{figure}
\end{document}

在此处输入图片描述

评论

  • pgfplots内部加载,tikz因此无需明确加载后者。
  • 使用[h]进行浮动放置是灾难的根源;请使用限制较少的规范,例如,[htp]或者根本不使用。

相关内容