2012-03-13 3 views
3

Я искал какое-то время, чтобы узнать, как удалить дни недели из финансового сюжета без успеха.GNUPLOT Plotting 5-дневная финансовая неделя

Мне нужен сюжет, чтобы просто включить дни недели и полностью упустить выходные, чтобы в финансовой карте не было двухдневного пробела.

У меня есть данные в формате CSV Open/Low/Close/High, и у него отсутствуют данные о выходных, он прекрасно выглядит, но я не могу найти, как не показывать выходные, любая помощь будет действительно оценена.

Я бы хотел, чтобы он говорил, что M/T/W/T/F/M/T/W/T/F/M/T/W/T/F на X, а не M/T/W/T/F/S/S/M и т.д. ...

Cheers,

Крис.

+2

Я не думаю, что люди понимают вопрос. Это НЕ о том, как удалить выходные из файла данных. В файле данных нет записей в выходные дни. Проблема в том, что если вы установите ось x в режим времени, gnuplot резервирует точку на оси x для КАЖДОГО календарного дня. Он вставляет пробелы по оси x для выходных дней, ДАЖЕ ЕСЛИ в эти дни нет записей. То есть gnuplot рассматривает ось x как непрерывную временную шкалу, содержащую ВСЕ календарные дни. ОП спрашивает, как НЕ иметь пробелы, соответствующие выходным дням, включенным (показано) на ось х, как если бы эти дни вообще не существовали в календаре. – MrSparkly

ответ

1

Насколько я знаю, это невозможно сделать с помощью gnuplot - вам нужно довести файл до желаемой формы раньше. Если вы находитесь на Linux, это может быть сделано с чем-то вроде

awk '{if(index($1, "S") == 0) print $0 >> "new.dat"}' old.dat 

где old.dat ваш исходный файл и new.dat новый файл без выходных. Я предположил, что ваш файл данных имеет день недели в качестве первой записи в каждой строке.

Это будет работать и под Windows, но вам сначала нужно установить Gawk for Windows.

0

Данные не отображаются в файле, файл работает только по будням и пропускает выходные. Если вы распечатываете данные, вы получаете эти 2-дневные промежутки в выходные, поэтому я хочу удалить эти пробелы. Это больше связано с осью x, имеющей выходные дни, чтобы сделать ее линейной.

Ниже приведен пример части файла:

2006-03-23T16: 1,7470 1,7324 59 1,7471 1,7344 0,0000 0,0000 0,0000 0,0000
2006-03-24T16: 59 1,7346 1,7308 1,7441 1,7428 0,0000 0,0000 0,0000 0,0000
2006-03-27T17: 59 1,7424 1,7415 1,7492 1,7459 0,0000 0,0000 0,0000 0,0000
2006-03-28T17: 59 1,7462 1,7422 1,7537 1,7424 0,0000 0,0000 0,0000 0,0000

Если вы посмотрите на даты, есть пробелы в файл. Должны быть пробелы, потому что в эти дни нет данных. Однако график должен работать без пробелов, и этого я пытаюсь достичь.

+0

Просто взломанная идея: вы можете заменить строки даты/времени номерами строк, чтобы получить график без пробелов и добавить информацию о потерянной дате, используя соответствующие текстовые метки. – vaettchen

0

Использование некоторого внешнего инструмента (я бы написал сценарий bash или python для этого, я считаю, это не должно быть сложно), вы можете вставлять строки в выходные дни (одна строка в течение дня) в ваш файл данных, например это:

2006-03-26T00:00 NaN NaN NaN NaN NaN NaN NaN NaN 

(или вы можете просто добавить эти NaN с для выходных в конце файла данных и использовать unique ключевое слово)

, а затем сюжет, скажем, первые данные с using 1:($2) with linespoints, неusing 1:2 ...

Это должно сработать для вас.

0

Я только что наткнулся на set xdtics сегодня. Я сомневаюсь, что вы все еще работаете над этим, но, возможно, это будет полезно для кого-то другого ... (см. help xdtics)

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