Почему gnuplot жалуется на пустой диапазон x (и разрушает график), когда я применяю отсечение отсутствующих данных? - PullRequest
0 голосов
/ 21 ноября 2018

gnuplot 5.2.5 / centos7

По сути, я настроил график, который мне нравится, но теперь я хочу ввести «обрезку» в строках, когда данные отсутствуют.Я много осмотрелся и есть простые решения, если бы у меня было только 2 столбца ... Однако у меня есть много столбцов.Итак, я использую цикл и не могу просто сделать ($2).

Я нашел решение обрезать строки, когда в цикле нет данных, но они не работают:

Предупреждение: пустой диапазон x [2018: 2018], настройка на [1997.82: 2038.18]

Конфигурация, которая вызвала выше:

set datafile separator ","
set xdata time
set timefmt "%Y-%m-%d.%H:%M:%S"
set datafile missing
set ylabel "% CPU"
set xlabel "Time Point"
set grid
set xtics rotate
set key autotitle columnheader
set terminal pngcairo
set output 'graph.png'
plot for [i=2:5] "data.csv" using ($1):(column(i)) with linespoints

И вотмои данные (обратите внимание на отсутствующее значение во втором ряду, второй столбец):

col1, col2, col3, col4
2018-11-21.04: 23: 03,1,2,2,5
2018-11-21.04: 24: 03; 4,4,6
2018-11-21.04: 25: 03,3,6,8,7
2018-11-21.04: 26: 03,4,8,16,8

Как должна выглядеть моя команда plot?

Обновление: я пытался обойти это с помощью:

plot "data.csv" using 1:($2) with linespoints,
plot "data.csv" using 1:($3) with linespoints,

Но он просто отображает первую строку ... Этот обходной путь возможен для меня, но я не знаю, как добавить больше строк?Опять же, я не могу использовать трюк for [i = 2: 5], потому что это нарушает мой диапазон x.

...