如何将数据文件与四列连接起来

时间:2012-03-05 22:25:48

标签: opencv gnuplot

我的数据文件有四列,因为opencv在将n x 4导出到xml时以x cv::Mat格式保存元素。

如何将这四列连接成一列?

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。我需要从x = 1024:2048追加第2列。请忽略彩盒的东西;我只是在玩弄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 个答案:

答案 0 :(得分:1)

如果您想要阅读

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只是将逗号转录为换行符。