2011-12-16 3 views
4

У меня есть файл данных формы:Plotting несколько серий из файла, используя 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, но я m new для gnuplot, и я не могу понять, как здесь должно быть структурировано предложение using.

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

Я пробовал:

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

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

x range is invalid 

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

+0

также посмотреть: HTTP : //stackoverflow.com/questions/12818797/gnuplot-plotting-several-datasets-with-titles-from-one-file – kolypto

ответ

7

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

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

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

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

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 

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

enter image description here

результат.

+0

Спасибо. Я включил кавычки, так как в разделе справки говорится: ... пробел делит каждую запись на столбцы. Однако пробелы внутри пары двойных кавычек игнорируются при подсчете столбцов, поэтому следующая строка файла данных имеет три столбца: 1.0 «вторая колонка» 3.0 –

10

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

plot 'i' index 0 using 2:4 with lines, '' index 1 using 2:4 with lines 
+0

+1 Кроме того, если включить индекс ^^ – Woltan

+0

+1 choroba, ваш ответ был разрешение 4-часового исследования, как разделить разделы. Я не пробовал две новые строки. – Thomas

+1

Чтобы быть понятным, две пустые строки означают _three_ newlines. – pjvandehaar

Смежные вопросы