如何缩放 Tikz 中的刻度标签以复制 Matlab 命令
set(gca, 'XTick', xt, 'XTickLabel', xt.^3)
例如,xtick 标签应转换为以下内容
xtick={10,15,20,25,30,35},
xticklabels={1000,3375,8000,15625,27000,42875},
我想要一个自动化的程序来实现这一点。就像这样:
xticklabel={$\pgfmathprintnumber{\tick^3}$}
遗憾的是,tikz 无法解析这个......
答案1
只需使用xticklabel={\pgfmathparse{\tick^3}$\pgfmathprintnumber{\pgfmathresult}$}
以下示例中的 即可。如果您有大量数字,则可能需要使用fpu
。
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xticklabel={\pgfkeys{/pgf/fpu}\pgfmathparse{\tick^3}$\pgfmathprintnumber{\pgfmathresult}$}]
\addplot [domain=0:35] {x};
\end{axis}
\end{tikzpicture}
\end{document}