如何强制打印 pgfmath 宏中的小数部分?

如何强制打印 pgfmath 宏中的小数部分?

我遇到了相反的问题问题。为了保持一致性,我希望打印整数的小数部分。我已经尝试指定precision但没有成功。见下文。一个例子

\documentclass{article}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\begin{axis}[ybar,
nodes near coords, %={\pgfmathprintnumber[fixed,precision=2]{\pgfplotspointmeta}}
]
\addplot coordinates { (1,1.11) (2,2.22)(3,3.00)(4,4.44) };
\end{axis}
\end{tikzpicture}
\end{document}

针对 Peter Grill 的回答,继续提问:

是否可以让此规范仅影响条形图上的节点,并让轴刻度保持不变,不添加小数部分?那将是亮点。

答案:碰巧我已经自己找到了这个问题的答案。设置

\pgfkeys{
    /pgf/number format/precision=0, 
    /pgf/number format/fixed zerofill=true }

0并使用

nodes near coords={\pgfmathprintnumber[fixed,precision=2]{\pgfplotspointmeta}}

axis规范中,我在轴上得到了“正常”整数,并在图表本身中得到了强制小数部分。

答案1

你需要:

/pgf/number format/precision=1, 
/pgf/number format/fixed zerofill=true

在此处输入图片描述

\documentclass{article}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\pgfkeys{
    /pgf/number format/precision=1, 
    /pgf/number format/fixed zerofill=true
}

\begin{axis}[ybar, nodes near coords]
\addplot coordinates { (1,1.11) (2,2.22)(3,3.00)(4,4.44) };
\end{axis}
\end{tikzpicture}
\end{document}

相关内容