极坐标 pgfplots 图在加载单位库时添加了额外的空白

极坐标 pgfplots 图在加载单位库时添加了额外的空白

在 pgfplots (v1.10) 中绘制极坐标图时,加载单位库时会出现额外的空白。我该如何消除它?

我之前没有注意到这一点,因为它与 y 轴的方向有关,从下面的代码中可以看出,与没有xminxmax设置的图进行比较。删除units库会给出正确的间距。

\documentclass[convert,TikZ]{standalone}

\usepackage{pgfplots}

\usepgfplotslibrary{%
  units,
  polar,
}
\pgfplotsset{
  compat=newest,
}


\begin{document}
\fboxsep=0pt
\fbox{%
\begin{tikzpicture}
  \begin{polaraxis}[
    xmin=-180,xmax=180,
    ]
    \addplot coordinates {(0,1) (90,1) (180,1) (270,1) (360,1)};
  \end{polaraxis}
\end{tikzpicture}%
}

\end{document}

显示问题的图片

答案1

即使您正在加载单位,您也可以通过添加选项来摆脱它use units=false。这在您的最小示例中修复了它。由于它实际上不使用单位,因此不会造成任何损害。

\documentclass[convert,TikZ]{standalone}

\usepackage{pgfplots}

\usepgfplotslibrary{%
  units,
  polar,
}
\pgfplotsset{
  compat=newest,
}


\begin{document}
\fboxsep=0pt
\fbox{%
\begin{tikzpicture}
  \begin{polaraxis}[use units=false,
    xmin=-180,xmax=180,
    ]
    \addplot coordinates {(0,1) (90,1) (180,1) (270,1) (360,1)};
  \end{polaraxis}
\end{tikzpicture}%
}

\end{document}

如果让 TikZ 实际绘制所有节点,您将看到仅包含空格的节点,这会导致该空格:

\begin{tikzpicture}[every node/.style={draw}]

因此,

  • 检查 siunitx 是否会产生空格,即使对于空值也是如此,并发送错误报告
  • 发送错误报告或功能请求,让 pgfplots 真正关闭标签,而不是不打印它们,这会因单位问题而失败

或两者。

绘制节点

相关内容