Построение нескольких серий из файла с помощью Gnuplot

У меня есть файл данных в форме:

Series_1 "12-Dec-2011 12:00" 32
Series_1 "12-Dec-2011 12:01" 29
Series_1 "12-Dec-2011 12:02" 27
Series_1 "12-Dec-2011 12:04" 23

Series_2 "12-Dec-2011 12:01" 45
Series_2 "12-Dec-2011 12:02" 43
Series_2 "12-Dec-2011 12:04" 38

Который я хотел бы построить как ряд серий на одном и том же сюжете с использованием gnuplot, но я новичок в gnuplot и не могу понять, как здесь должно быть структурировано предложение using.

Я хотел построить столбец 2, дату / время как ось X с столбцом 3 как ось Y, с наложением последующих разделов. Это возможно? Разве ось X не всегда должна быть в первом столбце?

Я пытался:

plot "datafile.dat" using 2:3 title 'Hits'

Но получил ошибку:

x range is invalid

Может ли кто-нибудь показать мне, где я ошибаюсь?


person Component 10    schedule 16.12.2011    source источник
comment
также см .: stackoverflow.com/questions/12818797/   -  person kolypto    schedule 29.08.2014


Ответы (2)


Чтобы построить график даты / временного ряда по оси x, вам необходимо set xdata time. Затем вам нужно указать gnuplot, в каком формате находятся данные даты / времени. В твоем случае

set timefmt "%d-%b-%Y %H:%M"

должен сделать свое дело. Некоторые примеры, а также %X-синонимы показаны здесь.

Возможно, вы захотите установить формат, в котором должна отображаться ось x. В вашем случае возможно

set format x "%H:%M"

имел бы смысл.

Мне не удалось нанести ваши данные в кавычки вокруг даты и времени. С помощью этого файла данных (Data.csv):

Series_1 12-Dec-2011 12:00 32
Series_1 12-Dec-2011 12:01 29
Series_1 12-Dec-2011 12:02 27
Series_1 12-Dec-2011 12:03 23

Series_2 12-Dec-2011 12:01 45
Series_2 12-Dec-2011 12:02 43
Series_2 12-Dec-2011 12:04 38

и этот скрипт:

set xdata time
set timefmt "%d-%b-%Y %H:%M"
set format x "%H:%M"

plot "Data.csv" u 2:4 w l

ты должен получить это

введите описание изображения здесь

результат.

person Woltan    schedule 16.12.2011
comment
Спасибо. Я включил кавычки, поскольку в разделе справки говорится: ... пробел разделяет каждую запись на столбцы. Однако пробелы внутри пары двойных кавычек игнорируются при подсчете столбцов, поэтому следующая строка файла данных имеет три столбца: 1.0 второй столбец 3.0 - person Component 10; 16.12.2011

Расширение ответа @Woltan: если вы хотите, чтобы каждый раздел был разным цветом / стилем, используйте index (но тогда вам нужно разделить разделы двумя пустыми строками):

plot 'i' index 0 using 2:4 with lines, '' index 1 using 2:4 with lines
person choroba    schedule 16.12.2011
comment
+1 чороба ваш ответ был разрешением 4х часового исследования как разделить разделы. Я не пробовал два перевода строки. - person Thomas; 28.06.2012
comment
Для ясности: две пустые строки означают три новой строки. - person pjvandehaar; 08.01.2016