带有SI前缀的Gnuplot:如何让gnuplot不显示十进制零?

时间:2016-05-24 12:30:27

标签: gnuplot

我在Gnuplot中使用xtics的自定义格式绘制波长。我想要获得的是xtics这样的:

  

200nm,400nm,600nm,800nm,1um,1.2um,1.4um

我几乎带着这段代码:

set xlabel "Wavelenth"
set format x "%3.1s%cm"
set xrange [1e-8:1.5e-6]

plot x lw 3

然而,由于%3.1s,Gnuplot附加了一个无用的.0,其中没有必要。因此,上面范围内的Gnuplot xtics是:

  

200.0nm,400.0nm,600.0nm,800.0nm,1um,1.2um,1.4um

这扩大了tics,这是丑陋的。我无法弄清楚如何指定宽度和精度,以便不显示全部为零的小数位。有办法吗?

unwanted digits

1 个答案:

答案 0 :(得分:0)

我认为除了手动指定抽搐之外,这是不可能的:

set xtics ("200nm" 2e-7, "400nm" 4e-7, "600nm" 6e-7, "800nm" 8e-7, "1.2um" 1.2e-6, "1.4um" 1.4e-6)

如果您使用postscript终端,我可以切断" .0nm"用sed

set term postscript eps
set out 'plot.eps'
set xlabel "Wavelenth"
set format x "%3.1s%cm"
set xrange [1e-8:1.5e-6]
plot x lw 3
set output
!sed  -i 's/\.0nm/nm/g' plot.eps