Ссылка, на которую вы ссылаетесь, взята из прибл. 2009. С тех пор gnuplot развивается. Как предложил @Christoph, отметьте help boxxyerror
.
Код:
### horizontal bar graph
reset session
$Data << EOD
dad 181
mom 170
son 100
daughter 60
EOD
set yrange [0:*] # start at zero, find max from the data
set style fill solid # solid color boxes
unset key # turn off all titles
myBoxWidth = 0.8
set offsets 0,0,0.5-myBoxWidth/2.,0.5
plot $Data using 2:0:(0):2:($0-myBoxWidth/2.):($0+myBoxWidth/2.):($0+1):ytic(1) with boxxyerror lc var
### end of code
Результат:
введите описание изображения здесь
Дополнение:
что означает 2:0:(0):2:($0-myBoxWidth/2.):($0+myBoxWidth/2.):($0+1):ytic(1)
?
Ну, это выглядит сложнее, чем это является. Проверить help boxxyerror
. Из руководства:
6 столбцов: x y xlow xhigh ylow yhigh
Итого:
- x принимает значение из столбца 2, но не так актуально здесь, поскольку мы будем использовать поле xyerror
- y взять псевдостолбец
0
, который является номером строки, начинающимся с нуля, отметьте help pseudocolumns
, но здесь также не так важно - xlow
(0)
означает фиксированное нулевое значение - xhigh значение из столбца 2
- ylow
($0-myBoxWidth/2.)
, номер строки минус половина ширины поля - yhigh
($0+myBoxWidth/2.)
, номер строки плюс половина ширины окна ($0+1)
вместе с ... lc var
: цвет в зависимости от номера строки, начиная с 1 ytic(1)
: столбец 1 как yti c label
По какой-то причине (которой я не знаю) gnuplot, похоже, все еще не имеет удобного стиля построения горизонтальной гистограммы, но, по крайней мере, он предлагает этот boxxyerror
обходной путь.