我试图在一个图中将两个数据系列绘制为gnuplot中的框。该脚本目前看起来像这样:
set terminal postscript eps enhanced color
set title "Distribution of the extrepreneur PnL. Loan $6."
set output 'pnl_loan6.eps'
#set xrange [0:]
set xlabel "Discounted profit"
set style fill solid 0.8 border -1
plot 'pnl_loan6.txt' using 1:2 title 'PnL high risk (xi=1)' with boxes,\
'pnl_loan6.txt' using 1:3 title 'PnL high risk (xi=1.5)' with boxes
然而,这两个系列重叠。我希望有一个系列在现有盒子的左半部分绘制它的盒子,而在另一半盒子中绘制另一个系列,以便它们有效地交替。我该怎么办?
编辑:
数据:
-10.000000 20251.000000 31825.000000
-4.892638 26743.000000 21310.000000
0.214725 20362.000000 14590.000000
5.322087 13023.000000 9645.000000
10.429449 7730.000000 6347.000000
15.536812 4636.000000 4331.000000
20.644174 2714.000000 2964.000000
25.751536 1647.000000 2121.000000
30.858899 1044.000000 1586.000000
35.966261 648.000000 1106.000000
41.073624 396.000000 873.000000
46.180986 257.000000 685.000000
51.288348 166.000000 471.000000
56.395711 101.000000 369.000000
61.503073 83.000000 321.000000
66.610435 52.000000 260.000000
71.717798 40.000000 184.000000
76.825160 30.000000 172.000000
81.932522 21.000000 143.000000
87.039885 11.000000 116.000000
答案 0 :(得分:9)
我不确定你的目标是什么,但也许这种有点黑客的方法可以解决问题:
set style fill solid 0.8 border -1
set boxwidth 0.5 relative
plot 'pnl_loan6.txt' using ($1+1.27684075):2 title 'PnL high risk (xi=1)' with boxes,\
'pnl_loan6.txt' using ($1-1.27684075):3 title 'PnL high risk (xi=1.5)' with boxes
与脚本的区别在于
无论如何这是由此产生的情节:
PS:
您可能想要考虑使用set logscale y
的y轴上的对数缩放,这将导致此图:
答案 1 :(得分:0)
您可以尝试histogram
样式......或者set boxwidth
。
修改强>
对于boxwidth
,请参阅Woltan的回答 - 看到您的数据文件后,这可能是最好的方法。
你可以这样做:
set style histogram cluster gap 0
plot "datafile.dat" u 2:xtic(1) with histogram ...
但是,在这种情况下你会有一个过度拥挤的x轴 - 但是如果你想用字符串标记轴,这种方法效果很好。
最后一点说明: 做以下事情可能是个好主意 -
set style fill solid 0.8 border -1
set boxwidth 0.5 relative
plot 'datafile.dat' using ($1+1.27684075):2 title 'PnL high risk (xi=1)' with boxes,\
'' using ($1-1.27684075):3 title 'PnL high risk (xi=1.5)' with boxes lc rgb "#0000ff"
这会将绿色框的颜色更改为蓝色(#0000ff),因为约有5%的人是红色/绿色色盲。 (您可以使用“蓝色”而不是“#0000ff” - 但后者更为通用)。
答案 2 :(得分:0)
这个链接还有一个简单的好方法,当只有一组数据时,当有更多数据时,使用“带框”代替直方图。它对我来说非常有效,并且没有在接受的答案中建议的那些难以理解的偏移计算:
http://gnuplot-surprising.blogspot.ca/2011/09/plot-histograms-using-boxes.html