Мои данные выглядят следующим образом:
10:15:8:6.06000000: 10:15:2:19.03400000: 10:20:8:63.50600000: 10:20:2:24.71800000: 10:25:8:33.26200000: 10:30:8:508.23400000: 20:15:8:60.06300000: 20:15:2:278.63100000: 20:20:8:561.18000000: 20:20:2:215.46600000: 20:25:8:793.36000000: 20:25:2:2347.52900000: 20:30:8:5124.98700000: 20:30:2:447.41000000: (...)
Я хочу построить график «линии и точки» с 1 долларом на оси X и 8 различными линиями, представляющими каждую комбинацию (2 доллара, 3 доллара). ), например: (15,8), (15,2), ...
Чтобы сделать такой условный график, люди предлагают следующее:
plot 'mydata.dat' using 1:($2==15 && $3==8 ? $4 : 1/0) with linespoints 'v=15, l=8'
Однако gnuplot не может провести линию через эти точки, так как "1/0" недействительны и вставлены для замены каждой точки данных, для которой ($2==15 && $3==8) не выполняется.
Кроме того, предложение «повторно построить последнюю точку данных» вместо использования «1/0» не работает, так как я использую условные операторы для двух переменных.
Действительно ли нет способа заставить gnuplot игнорировать запись в файле вместо того, чтобы отображать неверную точку данных «1/0»? Обратите внимание, что замена его на «NaN» дает тот же результат.
На данный момент я предварительно обрабатываю все свои файлы данных (путем их разделения на отдельные файлы, которые затем можно отобразить на одном графике), используя bash и awk, но это далеко не идеально...
Спасибо. !