gnuplot具有常用和不同键的多个直方图

时间:2015-08-17 11:02:14

标签: gnuplot primary-key histogram

我生成了N列堆积的直方图,但我遇到了唯一键的问题。数据文件如下所示:

Process_1 10 Process_1 20 Process_4 10 Process_1 10
Process_2 20 Process_4 35 Process_6 30 Process_2 10 
Process_3 30 Process_3 15 Process_1 20 Process_4 30

我正在使用以下脚本:

set terminal png small size 1024,768
set out "outHistograms.png"
set style data histogram
set style fill solid border
set style histogram columnstacked
set boxwidth 0.6 relative
plot \
"data.csv" using 2:key(1) ,  \
"data.csv" using 4:key(3) ,  \  
"data.csv" using 6:key(5) ,  \
"data.csv" using 8:key(7)    \

如您所见,某些键在不同的直方图中是常见的,有些则不是。

结果在这里可见: http://s28.postimg.org/pzjk5egh9/exampl_hist.png (抱歉,由于我最近的订阅,我无法将图片包含在帖子中)

问题: 密钥是重复的,颜色不是密钥唯一的。

我想删除重复项,并在所有直方图中为每个进程提供唯一的键(和颜色)。

我也尝试了以下相同的结果:

plot \
newhistogram "a" lt 1 at 0, "data.csv" using 2:key(1),  \
newhistogram "b" lt 1 at 4, "data.csv" using 4:key(3)  

我想我需要一种方法'告诉'gnuplot所有奇数列都需要作为一个整体来对待。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

gnuplot无法对您的数据进行排序和识别,您需要为六个键(=进程)设置六行。

Process_1 10 15 20
Process_2 10  0  0
Process_3 10 15 20
Process_4  0 35  0
Process_5  0  0  0
Process_6  0  0 20

现在你只绘制第(2)栏中第一次迭代的关键点,就是这样。

set style data histogram
set style fill solid border
set style histogram columnstacked
set boxwidth 0.6 relative
plot \
data using 2:key(1) ,  \
data using 3 ,  \  
data using 4 ,  \

P.S。您的数据不是“.csv”(逗号分隔值)。我刚刚将文件名保存在字符串变量“data”中。

P.P.S。请在发布之前从脚本中删除所有装饰(标题标题等)。终端设置也是超级的。除非当然有问题。