我对 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 tick label style={/pgf/number format/precision=10},
得到相同的结果。