gnuplot-设置透明直方图

gnuplot-设置透明直方图,gnuplot,histogram,Gnuplot,Histogram,我正在尝试叠加两个直方图,我需要第二个直方图(图中的蓝色)是透明的,以便可以看到下面的直方图: 这是我正在使用的代码: #!/bin/bash gnuplot << EOF set term postscript portrait color enhanced set output 'test.ps' set size ratio 1 set multiplot set size 0.5,0.5 n=20 #number of intervals max=1.0 #ma

我正在尝试叠加两个直方图,我需要第二个直方图(图中的蓝色)是透明的,以便可以看到下面的直方图:

这是我正在使用的代码:

#!/bin/bash
gnuplot << EOF

set term postscript portrait color enhanced 
set output 'test.ps'
set size ratio 1
set multiplot
set size 0.5,0.5

n=20    #number of intervals
max=1.0 #max value
min=0.0    #min value
width=(max-min)/n        #interval width
hist(x,width)=width*floor(x/width)+width/2.0

set boxwidth width*0.9
set xrange [0:1]
plot "/path_to_file" u (hist(\$1,width)):(1.0) smooth freq w boxes lc rgb "black" lt 1 lw 0.5 notitle fs solid 0.5, \
"/path_to_file" u (hist(\$2,width)):(1.0) smooth freq w boxes  notitle fs transparent pattern 4 noborder lc rgb "blue" lt 1 lw 0.5

EOF
#/bin/bash

gnuplot当我将终端更改为
png
(或
pdf
pdfcairo
)(例如
set term png enhanced
),我会得到一个看起来正确的图

然而,gnuplot似乎认为
postscript
应该创建一个透明的绘图(见下表,摘自
help transparent
)。因此,我的诊断是它要么是gnuplot中的一个bug,要么是文档中的bug

   terminal   solid pattern    pm3d
   --------------------------------
   gif           no     yes      no
   jpeg         yes      no     yes
   pdf          yes     yes     yes
   png    TrueColor   index     yes
   post          no     yes      no
   svg          yes      no     yes
   win          yes     yes     yes
   wxt          yes     yes     yes
   x11           no     yes      no

哈哈,对不起。删除了
awk
位,因为它不是必需的,并添加了一个数据文件。我认为您的脚本中丢失了一个
plot
。我来试一试,看看我能用它做些什么……是的,我做了,我现在就纠正它。你是对的,它确实能用
png
终端工作。如何从这个终端获得高质量的输出?我想我会使用它,因为
postscript
不会处理透明胶片。@Gabriel--p.s.我提交了一个@Gabriel--我也在
pdf
pdfcairo
终端中试用过,它成功了。如果您安装了这些终端中的任何一个,它们可能会更“高质量”。非常感谢!就质量而言,
pdfcairo
终端远远优于
png
。@Gabriel——如果您感兴趣,Ethen Merritt(我认为gnuplot的首席开发人员)在postscript终端中发布了一个解决您问题的方法。(参见前面提到的bug报告)。他认为这个问题不会在gnuplot 4.6.1(即将发布的下一个版本)中得到解决,但是有一个解决方法,看起来也不太糟糕。