调整 tikzpicture 中单个刻度的十进制精度

调整 tikzpicture 中单个刻度的十进制精度

我对 tikzpicture 生成的图中某些单个刻度的小数精度有一点疑问。最小示例:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        xmin=0,xmax=1,
        xtick={0, 0.196,0.514,1},
        ymin=350,ymax=510,
        ytick={350,390,430,470,510},
        xlabel={$\tilde{L}$},
        ylabel= {$T$},
        minor tick num=1,
        ]
    \end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

如何让 x 轴上的刻度以我在代码中指定的精确小数精度显示 (0, 0.196, 0.514, 1)?我知道如何设置整个 x 轴的精度,但还不知道如何设置单个刻度。

谢谢 :)

答案1

它们xtick存储在宏中,并使用\tick默认的排版方式 xticklabel={\axisdefaultticklabel}\def\axisdefaultticklabel{$\pgfmathprintnumber{\tick}$}

\pgfmathprintnumber{⟨x⟩}使用\pgfmathfloatparsenumber并且可以配置为以几种不同的方式显示数字,但它无法知道您是如何写出数字的。

为了获得所需的结果,您可以像这样手动添加标签:

\documentclass[tikz, border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0, xmax=1,
xtick={0,0.196,0.514,1},
ymin=350, ymax=510,
ytick={350,390,430,470,510},
xlabel={$\tilde{L}$},
ylabel={$T$},
minor tick num=1,
xticklabels={0,0.196,0.514,1},
]
\end{axis}
\end{tikzpicture}
\end{document}

带有精确 x 刻度的空图表

编辑:我有点错了 - 您也可以像这样提高精度并且不使用零填充:

x tick label style={/pgf/number format/precision=10},

得到相同的结果。

相关内容