Gnuplot с si-префиксами: как заставить gnuplot не отображать десятичные нули?

Я строю длину волны с пользовательским форматом для xticsIn Gnuplot. Чего я хочу достичь, xticsтак это:

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

Я почти там с этим кодом:

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в aboves диапазоне:

200,0 Нм, 400,0 Нм, 600,0 Нм, 800,0 Нм, 1УМ, 1,2 ум, 1,4 ум

Что расширяет тоtics, что некрасиво. Я не могу понять, как указать ширину и точность, чтобы десятичные знаки, которые все равны нулю, не отображались. Есть ли способ?

нежелательные цифры

1 ответ

  1. Я думаю, что это невозможно, кроме указания тиков вручную:

    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