gnuplot叠加直方图重叠

gnuplot叠加直方图重叠,plot,gnuplot,histogram,Plot,Gnuplot,Histogram,我想使用gnuplot绘制以下两个数据文件 timings0.log: 计时1.log: 它们表示一段软件的不同组件的计时,其中每个文件都是由具有不同配置的执行生成的,并且文件中的每一行对应于不同的组件。我使用sed命令能够提取计时文件中的特定行(按照建议的方法),并且能够显示仅显示某些组件的绘图。我想在同一个图中以叠加直方图的方式显示两组计时 这是我目前的代码: set terminal svg size 500,500 enhanced font 'Times-Roman,14' set

我想使用gnuplot绘制以下两个数据文件

timings0.log:

计时1.log:

它们表示一段软件的不同组件的计时,其中每个文件都是由具有不同配置的执行生成的,并且文件中的每一行对应于不同的组件。我使用sed命令能够提取计时文件中的特定行(按照建议的方法),并且能够显示仅显示某些组件的绘图。我想在同一个图中以叠加直方图的方式显示两组计时

这是我目前的代码:

set terminal svg size 500,500 enhanced font 'Times-Roman,14'

set key vertical maxrows 3

set style data histograms
set style histogram rowstacked title offset 0,-1 gap 1
set boxwidth 0.5 relative
set style fill solid 1.0

set xlabel offset 0,1
set xrange [-1:2]

set xtics 0,1
set xtics add ("1st Config"0)
set xtics add ("2nd Config"1)
set xtics add (""2)

set yrange [0:50000]
set ylabel "Time (ms)"
set ytics 0,5000,50000

set output "test.svg" 

plot newhistogram "0" lt 1, "<(sed '2!d' timings0.log)" notitle, "<(sed '3!d' timings0.log)" notitle, "<(sed '4!d' timings0.log)" notitle, "<(sed '5!d' timings0.log)" notitle,\
     newhistogram "1" lt 1, "<(sed '2!d' timings1.log)" t "Load", "<(sed '3!d' timings1.log)" t "Sort", "<(sed '4!d' timings1.log)" t "Calculation", "<(sed '5!d' timings1.log)" t "Cleanup"
设置终端svg大小500500增强字体“Times Roman,14”
设置关键帧垂直最大行数3
设置样式数据直方图
设置样式直方图行堆叠标题偏移0,-1间距1
将boxwidth设置为0.5相对宽度
将样式填充实体设置为1.0
设置xlabel偏移量0,1
设置X范围[-1:2]
将xtics设置为0,1
设置xtics添加(“第一次配置”0)
设置xtics添加(“第二配置”1)
设置xtics add(““2”)
设置Y范围[0:50000]
设置标签“时间(毫秒)”
设置ytics 0500050000
设置输出“test.svg”
绘制新的直方图“0”lt 1,尝试
处的

plot newhistogram at 0 lt 1, ...
     newhistogram at 1 lt 1, ...
至少在gnuplot 4.6中,我还发现了一个关于
间隙的错误。它对
行堆叠的
没有影响,但您可以在
偏移量之前使用它。总体代码:

set terminal svg size 500,500 enhanced font 'Times-Roman,14'

set key vertical maxrows 3

set style data histograms
set style histogram rowstacked
set boxwidth 0.5 relative
set style fill solid 1.0

set xlabel offset 0,1
set xrange [-1:2]

set xtics 0,1
set xtics add ("1st Config"0)
set xtics add ("2nd Config"1)
set xtics add (""2)

set yrange [0:50000]
set ylabel "Time (ms)"
set ytics 0,5000,50000

set output "test.svg"

plot newhistogram at 0 lt 1, "<(sed '2!d' timings0.log)" notitle, "<(sed '3!d' timings0.log)" notitle, "<(sed '4!d' timings0.log)" notitle, "<(sed '5!d' timings0.log)" notitle,\
     newhistogram at 1 lt 1, "<(sed '2!d' timings1.log)" t "Load", "<(sed '3!d' timings1.log)" t "Sort", "<(sed '4!d' timings1.log)" t "Calculation", "<(sed '5!d' timings1.log)" t "Cleanup"
设置终端svg大小500500增强字体“Times Roman,14”
设置关键帧垂直最大行数3
设置样式数据直方图
设置样式直方图行堆叠
将boxwidth设置为0.5相对宽度
将样式填充实体设置为1.0
设置xlabel偏移量0,1
设置X范围[-1:2]
将xtics设置为0,1
设置xtics添加(“第一次配置”0)
设置xtics添加(“第二配置”1)
设置xtics add(““2”)
设置Y范围[0:50000]
设置标签“时间(毫秒)”
设置ytics 0500050000
设置输出“test.svg”
在0 lt 1处绘制新直方图,“
plot newhistogram at 0 lt 1, ...
     newhistogram at 1 lt 1, ...
set terminal svg size 500,500 enhanced font 'Times-Roman,14'

set key vertical maxrows 3

set style data histograms
set style histogram rowstacked
set boxwidth 0.5 relative
set style fill solid 1.0

set xlabel offset 0,1
set xrange [-1:2]

set xtics 0,1
set xtics add ("1st Config"0)
set xtics add ("2nd Config"1)
set xtics add (""2)

set yrange [0:50000]
set ylabel "Time (ms)"
set ytics 0,5000,50000

set output "test.svg"

plot newhistogram at 0 lt 1, "<(sed '2!d' timings0.log)" notitle, "<(sed '3!d' timings0.log)" notitle, "<(sed '4!d' timings0.log)" notitle, "<(sed '5!d' timings0.log)" notitle,\
     newhistogram at 1 lt 1, "<(sed '2!d' timings1.log)" t "Load", "<(sed '3!d' timings1.log)" t "Sort", "<(sed '4!d' timings1.log)" t "Calculation", "<(sed '5!d' timings1.log)" t "Cleanup"