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(即将发布的下一个版本)中得到解决,但是有一个解决方法,看起来也不太糟糕。