我的数据文件有四列,因为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.
所以我真正需要的是在列之前绘制行的直方图。有可能吗?
答案 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
只是将逗号转录为换行符。