You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PGFPlot对数刻度下刻度值自动舍入问题求解

解决PGFPlots对数刻度大数值自动舍入问题

问题出在log ticks with fixed point选项上——它会强制对数刻度的标签采用固定点数格式,但会自动调整有效数字,导致带小数的大数值被舍入。按以下步骤修改代码即可解决:

  • 移除log ticks with fixed point选项
  • 给Y轴也明确设置刻度标签格式,与X轴保持一致
  • 保留scaled ticks=false(你代码中已添加,无需修改)

修改后的完整代码:

\begin{tikzpicture}
    \pgfplotsset{%
        x tick label style={/pgf/number format/fixed, /pgf/number format/precision=1, /pgf/number format/1000 sep=\,},
        y tick label style={/pgf/number format/fixed, /pgf/number format/precision=1, /pgf/number format/1000 sep=\,},
    }  
\begin{loglogaxis}[
    title={--},
    xlabel={--},
    ylabel={Median of Execution Time [ms]},
    xmin=0, xmax=4096,
    ymin=0, ymax=32375.5,
    xtick={1,2,4,8,16,32,64,128,256,512,1024,2048,4096},
    ytick={4,8,14,52,278,525,4524.5,14129.5,32375.5},
    legend pos=north west,
    scaled ticks = false,
    ymajorgrids=true,
    grid style=dashed,
]

\addplot[
    color=blue,
    mark=square,
    ]
    coordinates {
    (1,3)(2,4)(4,4)(8,4)(16,4)(32,8)(64,14)(128,52)(256,278)(512,525)(1024,4524.5)(2048,14129.5)(4096,32375.5)
    };
    \legend{Execution Time}
    
\end{loglogaxis}
\end{tikzpicture}

关键修改说明:

  1. 将X、Y轴的刻度标签样式统一配置,确保两者都启用fixed格式与precision=1,同时保留千位分隔符
  2. 删除log ticks with fixed point,该选项会覆盖你设置的固定精度,自动对大数值做舍入处理
  3. 保留scaled ticks=false,避免数值被自动转换为科学计数法格式

修改后,Y轴上的4524.5、14129.5等带小数的大数值会精确显示,不再被舍入。

内容的提问来源于stack exchange,提问作者Tom Hüller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 03:23:37