Я изучаю gnuplot, работая с приливными данными в ежемесячных файлах в следующем формате:
2011/03/01 Tue 08:42 9.39 H
2011/03/01 Tue 15:04 0.2 L
2011/03/01 Tue 21:18 8.67 H
2011/03/02 Wed 03:16 0.71 L
2011/03/02 Wed 09:31 9.51 H
2011/03/02 Wed 15:49 0.09 L
2011/03/02 Wed 22:01 8.91 H
2011/03/03 Thu 04:01 0.48 L
2011/03/03 Thu 10:14 9.58 H
2011/03/03 Thu 16:28 0.05 L
2011/03/03 Thu 22:39 9.11 H
Пока все хорошо: я могу выводить сложенные графики в PDF с настройкой мультиплота, НО я бы хотел, чтобы еженедельные графики всегда работали с понедельника по воскресенье.
С дробными неделями, особенно с первой неделей, как я могу это сделать? Я могу установить xrange вручную, но это нужно будет сделать заново для каждой еженедельной команды заговора.
То, что я хотел бы выяснить, это две вещи:
- способ справиться с проблемой первой недели;
- способ автоматизации xrange для каждой следующей недели (например, нужно ли gnuplot анализировать метку времени и начинать новый график каждый понедельник? Могу ли я сделать это с помощью троичного оператора?)
Настройка:
gnuplot: патч 4-го уровня версии 2
OSX 10.6.6
Команды настройки и построения:
set timefmt "%Y/%m/%d-%H:%M"
set origin 0,0
set xdata time
unset key
set samples 1000
myDate(col1,col3)=sprintf("%s-%s",strcol(1),strcol(3))
set grid noxtics
set xtics nomirror font "Arial,10" tc rgb "blue"
set xtics offset 0,0 # required for position of tic labels when stacked.
set yrange [-3:13]
set ytics 3
set grid ytics back
set x2data time
set x2tics 86400
set grid x2tics back
set x2tics 86400
set format x2 "%d" # displays number of day of month
set x2tics offset 3.5,-3 font "Helvetica,20" # required for position of numbers when stacked.
#### set size 1,.2 # un-comment for setting up stacked layout.
set tmargin 3 # gives adequate room between each row of days + labels.
set lmargin 5
set bmargin 2
set rmargin 2
plot 'MonthlyTideDataMarch.txt' u (myDate(1,3)):4:xticlabels(strcol(4) . " \n" . strcol(3) ) lc rgb "green" lw 3 sm cspl notitle