2
votes

I have previous question about this. But when I tried to use the same solution in the different data file structure, the solution did not work. This is my data file:

CS  31.73   18.32   20.78   22.88   1.97    1.29    0.90    2.01
FL  43.27   29.45   15.64   6.55    1.64    1.27    2.18    0.00
HB  32.44   20.43   14.89   14.53   5.42    10.92   0.80    0.31
HD  28.53   7.27    29.53   20.33   9.18    0.93    2.04    1.44
MR  22.56   36.19   10.66   15.51   9.45    4.32    0.80    0.31
ZK  27.15   10.81   27.40   16.10   8.05    7.24    1.06    1.71
All 30.00   21.35   18.05   16.82   6.14    5.39    1.11    0.85

my gnuplot:

set term pos eps font 20
set style data histogram
set style histogram rowstacked
set key invert reverse above
set boxwidth 0.8
set format y "%.0f%%"
set border 3 
set yrange [0:100]
set size 0.9 , 1.8

set label 1 "1092" at -0.3,103 font "Times-Roman, 17" 
set label 2 "500" at 0.7,103 font "Times-Roman, 17" 
set label 3 "1000" at 1.8,103 font "Times-Roman, 17" 
set label 4 "500" at 2.8,103  font "Times-Roman, 17" 
set label 5 "1000" at 3.8,103 font "Times-Roman, 17" 
set label 6 "500" at 4.8,103 font "Times-Roman, 17" 
set label 7 "500" at 5.8,103 font "Times-Roman, 17" 


set output 'aspect.eps'
plot 'a3b-aspect' \
    using($2):xtic(1)   t "pattern 1"  lc rgb "#006600"  lt -1 fs pattern 1, \
''  using($3)           t "pattern 2"  lc rgb "#006600"  lt -1 fs pattern 2, \
''  using($4)           t "pattern 3"  lc rgb "#330000"  lt -1 fs pattern 3, \
''  using($5)           t "pattern 4" lc rgb "#000099"  lt -1 fs pattern 4, \
''  using($6)           t "pattern 5"  lc rgb "#000099"  lt -1 fs pattern 5, \
''  using($7)           t "pattern 6"   lc rgb "#000099"  lt -1 fs pattern 6, \
''  using($8)           t "pattern 7"  lc rgb "#000099"  lt -1 fs pattern 7, \
''  using($5)           t "pattern 3" lc rgb "#660000"  lt -1 fs pattern 3, \
''  using($6)           t "pattern 3"   lc rgb "#990000"  lt -1 fs pattern 3

and my output:

enter image description here

What is the problems here, all of my graphs have space between Y axis and first bar chats? Please give me some explanation about this. Thanks

1

1 Answers

5
votes

The solution of the other question works, but now it seems that you don't want any space at all. This is a different thing.

In your case you can use set offset to reduce no space at all. So just add

set offset -0.6,-0.6,0,0

to your script. You should also use set ytics out nomirror to remove the superfluous tics on the right.

Explanation: set offset adjusts the range starting from the automatically calculated ones. For histograms, the first bar is placed at 0, the second at 1 etc. So the xrange in your case is automatically set to [-1:7] and you have a boxwith of 0.8. You could also use set xrange [-0.4:6.4], but using set offsets is more flexible for using different number of bars.

Result with 4.6.5:

enter image description here