如何将Octave绘图的x轴刻度设置为工程计数法而非科学计数法
Octave x轴刻度改为指定工程计数法解决方案
可以实现,你可以通过自定义x轴刻度和标签的方式完成需求,具体操作如下:
固定刻度场景方案(适配你当前的需求)
直接手动指定你需要的刻度位置和对应显示文本,在原有plot代码后补充代码即可,完整示例如下:
a = [10e6, 11e6, 12e6]; b = [10, 11, 12]; plot(a, b, 'rd-') % 指定x轴需要展示的刻度位置 xticks([10.5e6, 11e6, 11.5e6]) % 给每个刻度设置你想要的显示文本 xticklabels({'10.5e+6', '11e+6', '11.5e+6'}) % 锁定标签格式,避免调整画布时被系统自动重置 set(gca, 'XTickLabelMode', 'manual')
通用自动格式化方案
如果需要适配任意x轴范围,自动将刻度转为以1e6为单位的工程计数格式,不需要手动逐个写标签,可以使用自定义格式化逻辑:
a = [10e6, 11e6, 12e6]; b = [10, 11, 12]; plot(a, b, 'rd-') % 自动格式化所有x轴刻度为 XXXXe+6 格式 ticks = xticks(); xticklabels(cellfun(@(val) sprintf('%.1fe+6', val/1e6), num2cell(ticks), 'UniformOutput', false)) set(gca, 'XTickLabelMode', 'manual')
运行上述代码后,x轴就会按照你需要的格式显示,不会再出现默认的1.05e+7这类科学计数法展示。
内容的提问来源于stack exchange,提问作者CruzeiroDoSul
相关产品推荐
相关产品推荐

