如何在TikZ轴上打印固定格式数字并去除指数标注?
解决TikZ坐标轴显示指数标注的问题
你的问题出在TikZ的axis环境默认会对小数值自动启用刻度缩放(scaled ticks),即便全局设置了fixed格式,缩放后的指数标注仍会显示。要解决这个问题,需要同时关闭自动缩放并明确指定刻度标签的格式:
- 关闭y轴的自动缩放:添加
scaled y ticks=false选项 - 强制y轴刻度使用固定格式:设置
yticklabel={\pgfmathprintnumber[fixed,precision=2]{\tick}}
修改后的完整代码如下:
\begin{axis}[ ylabel={$\dfrac{u}{h \varepsilon \bar{R}^4}$}, y label style={at={(axis description cs:-0.15,.4)},anchor=south,rotate=-90}, grid=major, legend entries={iga-p=3-q=3,analytical}, legend style={at={(0.7,0.6)},anchor=south west}, ymin=0, ymax=0.08, xmin=0, xmax=10, ytick={0.02,0.04,0.06,0.08}, scaled y ticks=false, yticklabel={\pgfmathprintnumber[fixed,precision=2]{\tick}} ]
这样设置后,y轴刻度会直接显示0.02、0.04等固定格式的数值,不会再出现上方的指数标注。如果需要对x轴做相同处理,只需将参数中的y替换为x即可。
内容的提问来源于stack exchange,提问作者kstn
相关产品推荐
相关产品推荐

