gnuplot可以使用非标准化的科学记数法标记轴刻度吗?

时间:2015-06-19 23:36:40

标签: gnuplot scientific-notation

我有一个由Centos 6.6上的gnuplot 4.4生成的图,其Y轴有自动生成的刻度,带有以下标签:

1.9e-05
1.8e-05
1.7e-05
1.6e-05
1.5e-05
1.4e-05
1.3e-05
1.2e-05
1.1e-05
  1e-05
  9e-06

是否可以在gnuplot脚本中请求轴具有一致的指数?像这样:

19e-06
18e-06
17e-06
16e-06
15e-06
14e-06
13e-06
12e-06
11e-06
10e-06
 9e-06

我认为这会使价值观更容易阅读和理解。

我确实认识到科学记数法通常是normalised,因此系数位于[0,1]范围内。我想把它关掉。

1 个答案:

答案 0 :(得分:1)

Gnuplot不能自动执行此操作。您需要选择所需的指数,适当地缩放数据并手动将指数添加到以下格式:

exponent = -6
set format y '%.0f'.sprintf('e%d', exponent)
scale = 10**(-exponent)
plot 'data.dat' using 1:($2*scale)

编辑:对于您的具体示例,您可以使用gnuplots能力来使用科学能力(三个中的多个):

set terminal pngcairo enhanced font 'DejaVu Sans'
set encoding utf8
set format y '%.0s✕10^{%S}'
set xrange [9:19]
plot 1e-6*x

注意,此处仅需要乘法符号✕(U + 2715)的utf8编码。使用gnuplot 4.4.4输出

enter image description here