使用gnuplot对同一图表中的多个数据进行直方图

时间:2017-07-14 14:11:31

标签: gnuplot

我试图使用gnuplot绘制在一个图(直方图)中绘制的两个数据系列。一个是基线数据,另一个是优化。该脚本目前看起来像这样。

 n=50
    max=0.07946462
    min=0.0
    reset
    width=(max-min)/n #interval width
    hist(x,width)=width*floor(x/width)+width/2.0 #function used to map a value 
    to the intervals
    set term png #output terminal and file
    set output "histogram.png"
    set xrange [min:max]
    set yrange [0:]
    set style fill solid 0.5 #fillstyle
    set termopt enhanced    # turn on enhanced text mode
    set xlabel "PowerDensity(mA/um2)"
    set ylabel "Area(um2)"
    set title 'Power Density Histogram'
    plot 'power_density_oxili_sptp.txt' u (hist($2,width)):($1) smooth frequency 
    w boxes lc rgb"blue" title 'Baseline', 'power_density_oxili_sptp.txt' u 
    (hist($3,width)):($1) smooth frequency w boxes lc rgb"red" title 'Optimized'

这个输出将是给定的

enter image description here

这里的问题,我无法完全看到基线数据(蓝色),因为它隐藏在优化数据之下。要么我需要看到两个数据,要么我需要在同一个图中单独绘制直方图。 BR SREE

1 个答案:

答案 0 :(得分:0)

看起来您希望两个直方图是透明的。为此,您应该在fillstyle中设置transparent标志(请参阅help fillstyple):

set style fill transparent solid 0.5

此外,您需要指定truecolor以从标准png终端获取透明区域(请参阅help png):

set term png truecolor

或者,您可以使用pngcairo终端。