окна данных не отображаются gnuplot - PullRequest
2 голосов
/ 14 февраля 2020

Я бы хотел сделать гистограмму, используя gnuplot.

Я использовал эти настройки

set style data boxes
set style fill solid  
plot 'foo.dat' using 1:2:(1) linewidth 2

с содержанием foo.dat

8 1
10 1
11 4
12 4

gnuplot отображает только столбцы, соответствующие двум последним строкам.

Почему? Есть ли другое решение, кроме добавления «9 0» в мой файл данных?

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 14 февраля 2020

Ваша ось y, вероятно, автоматически масштабируется до [1: 4]. Например,

set yrange [0:*]

Тогда ось всегда начинается с 0, но автоматически масштабируется на другом конце.

1 голос
/ 14 февраля 2020

По умолчанию ваш график будет автоматически масштабироваться по y от 1 до 4. Поэтому вы не можете видеть первые два бара.

Решение: правильно установить свой диапазон y.

set yrange[0:5]

Редактировать: @ Хорошее предложение Кристофа set yrange[0:*] удобно автоматически масштабирует верхнюю часть. Тем не менее, здесь от [0:4], что не будет хорошо смотреться с прямоугольниками, касающимися верхней оси X. Поэтому я рекомендую добавить поля set offsets 0,0,1,0 # left,right,top,bottom. Проверка help margins.

Код:

### plot boxes 
reset session

$Data <<EOD
8 1
10 1
11 4
12 4
EOD

set style data boxes
set style fill solid
set yrange [0:*]
set offsets 0,0,1,0   # left,right,top,bottom

plot $Data using 1:2:(1) w boxes linewidth 2
### end of code

Результат:

enter image description here

...