具有以下 MWE:
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{tikz}
\usetikzlibrary{intersections} %% named intersections
\usetikzlibrary{fit}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
width= 400pt,
ymin = 0,
ymax = 5,
xmin = 0,
xmax = 7,
xtick = {0,1,...,7},
scaled x ticks=real:2324823,
xtick scale label code/.code={}, % this to not show extra scale label
]
\addplot [] coordinates {(0,0)};
\end{axis}
\end{tikzpicture}
\end{document}
...我得到的 xtick 标签格式如下:
我希望数字和中心点之间的间距较小 - 这是之前在 Gimp 中编辑的图像,以显示我的偏好:
是否可以通过某种方式来实现 - 也许通过某些设置/pgf/number format/sci
?
答案1
根据我的评论:
正如@HarishKumar 所说,减少空格会导致结果不一致。文档文本中的科学记数法看起来会不一样,而且一般来说,摆弄 TeX 的间距建议并不是一个好主意。 被隔开是\cdot
因为它是一个二进制运算符。
但如果您确实需要这样做,您可以添加
[/pgf/number format/sci generic={mantissa sep={\!\cdot\!},exponent={10^{#1}}}]
选项tikzpicture
,如下面的完整代码所示。
或者,您可以使用括号\cdot
来覆盖 TeX 的默认运算符间距:
[/pgf/number format/sci generic={mantissa sep={{{\cdot}}},exponent={10^{#1}}}]
需要额外的括号来防止 keyval 系统将括号视为另一个嵌套级别。
当然,您可以根据\cdot
自己的喜好进一步调整间距/字距命令。
代码
\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
% Choose either one of the following two lines
%\begin{tikzpicture}[/pgf/number format/sci generic={mantissa sep={\!\cdot\!},exponent={10^{#1}}}]
\begin{tikzpicture}[/pgf/number format/sci generic={mantissa sep={{{\cdot}}},exponent={10^{#1}}}]
\begin{axis}[
width= 400pt,
ymin = 0,
ymax = 5,
xmin = 0,
xmax = 7,
xtick = {0,1,...,7},
scaled x ticks=real:2324823,
xtick scale label code/.code={}, % this to not show extra scale label
]
\addplot [] coordinates {(0,0)};
\end{axis}
\end{tikzpicture}
\end{document}
输出
答案2
好吧,感谢这些问题:
...至少我找到了一种手动的方法来做到这一点 - 通过xticklabels
在轴设置的末尾手动输入和覆盖:
...
xtick scale label code/.code={},
xticklabels={$0$, $4.3{\cdot}\!10^{-7}$, $8.6{\cdot}\!10^{-7}$, $1.29{\cdot}\!10^{-6}$, $1.72{\cdot}\!10^{-6}$, $2.15{\cdot}\!10^{-6}$, $2.58{\cdot}\!10^{-6}$, $3.01{\cdot}\!10^{-6}$ },
]
...
...结果是:
... 这看起来并不坏 - 但谁愿意手动输入这种东西:)
因此,如果有某种自动的方法来包装\cdot
并在其后添加负数学跳过\!
,那就太好了......