Как объединить файл данных с четырьмя столбцами - PullRequest
1 голос
/ 06 марта 2012

В моем файле данных есть четыре столбца, поскольку opencv сохраняет элементы в форме n x 4 в формате xml при экспорте cv::Mat в xml.

Как я могу объединить эти четыре столбца в один?

reset

set terminal postscript eps enhanced
set output 'imp.eps'
set pm3d
set palette model HSV defined ( 0 0 1 1, 1 1 1 1 )
set style data histogram
set colorbox user
set origin 0.0,0.10
set size ratio 0 1,0.8
set colorbox horizontal origin graph 0.0, -0.15, 0 size graph 1, 0.05, 0 noborder 

set xrange [0:4096]
plot 'var_imp_first_run.data' using 1

set output

У меня есть 4094 элемента, и в этом примере создается гистограмма, где отображаются первые 1024 Мне нужно добавить столбец 2 из х = 1024: 2048. Пожалуйста, не обращайте внимания на материал colorbox; Я просто играю вокруг, чтобы выучить gnuplot.

Я обнаружил, что следующее решает мою проблему выше.

set xrange  [0:4096]
plot newhistogram at 0, 'var_imp_first_run.data' every:: 7 using 1,\
  newhistogram at 1024,'var_imp_first_run.data' every:: 7 using 2,\
   newhistogram at 2048,'var_imp_first_run.data' every:: 7 using 3,\
      newhistogram at 3072,'var_imp_first_run.data' every:: 7 using 4;

Тогда я обнаружил, что это не то, что я хотел, потому что данные расположены в виде записей,

x1,x2,x3,x4
x5,x6,x7,x8
and so on.

Так что мне действительно нужна гистограмма, которая отображает строки перед столбцами. Возможно ли это?

1 Ответ

1 голос
/ 06 марта 2012

Если вы хотите, чтобы он читал

x1
x2
x3

вместо

x1,x2,x3

Затем (при условии, что вы используете * nix) используйте

plot 'cat var_imp_first_run.data | tr "," "\n" |' using 1

Этовызов следующей команды и чтение вывода через канал в конце:

cat var_imp_first_run.data | tr "," "\n"

Здесь tr просто транслирует запятые как символы новой строки.

...