




plot "data.dat" using 2: xtic(1) with histogram
Здесь data.dat содержит данные вида
title 1 title2 3 "long title" 5
Я рекомендую Perl-скрипт генератора гистограмм Дерека Брюнинга. Доступно на http://www.burningcutlery.com/derek/bargraph/
Простая гистограмма:

set boxwidth 0.5
set style fill solid
plot "data.dat" using 1:3:xtic(2) with boxes
data.dat:
0 label 100
1 label2 450
2 "bar label" 75
Если вы хотите по-другому оформить полосы, вы можете сделать что-нибудь вроде:

set style line 1 lc rgb "red"
set style line 2 lc rgb "blue"
set style fill solid
set boxwidth 0.5
plot "data.dat" every ::0::0 using 1:3:xtic(2) with boxes ls 1, \
"data.dat" every ::1::2 using 1:3:xtic(2) with boxes ls 2
Если вы хотите сделать несколько столбцов для каждой записи:
data.dat:
0 5
0.5 6
1.5 3
2 7
3 8
3.5 1
gnuplot:
set xtics ("label" 0.25, "label2" 1.75, "bar label" 3.25,)
set boxwidth 0.5
set style fill solid
plot 'data.dat' every 2 using 1:2 with boxes ls 1,\
'data.dat' every 2::1 using 1:2 with boxes ls 2

Если вы хотите быть хитрым и использовать несколько изящных уловок gnuplot:
В Gnuplot есть псевдо-столбцы, которые можно использовать в качестве индекса для раскрашивания:
plot 'data.dat' using 1:2:0 with boxes lc variable

Кроме того, вы можете использовать функцию для выбора желаемых цветов:
mycolor(x) = ((x*11244898) + 2851770)
plot 'data.dat' using 1:2:(mycolor($0)) with boxes lc rgb variable

Примечание: вам нужно будет добавить пару других базовых команд, чтобы получить тот же эффект, что и в образцах изображений.
@Christoph Привет, если я хочу добавить ключ для этого типа графика? Что я должен делать ? Например, если я хочу добавить ключ, который говорит, что синяя линия - «зима», а красная линия - «лето»
@alex Не уверен, какой из этих примеров вы имеете в виду: с lc rgb variable у вас не может быть разных ключевых записей.
По какой-то причине мне пришлось использовать директиву notitle после каждого пункта сюжета, чтобы не допустить появления легенды.
Я просто хотел бы расширить верхний ответ, который использует GNUPlot для создания гистограммы, для абсолютных новичков, потому что я прочитал ответ и все еще был сбит с толку из-за обилия синтаксиса.
Начнем с написания текстового файла команд GNUplot. Назовем его commands.txt:
set term png
set output "graph.png"
set boxwidth 0.5
set style fill solid
plot "data.dat" using 1:3:xtic(2) with boxes
set term png установит GNUplot для вывода файла .png, а set output "graph.png" - это имя файла, в который он будет выводить.
Следующие две строки говорят сами за себя. Пятая строка содержит много синтаксиса.
plot "data.dat" using 1:3:xtic(2) with boxes
"data.dat" - это файл данных, с которым мы работаем. 1:3 указывает, что мы будем использовать столбец 1 data.dat для x-координат и столбец 3 data.dat для y-координат. xtic() - это функция, отвечающая за нумерацию / маркировку оси x. xtic(2), следовательно, указывает, что мы будем использовать столбец 2 data.dat для меток.
data.dat выглядит так:
0 label 100
1 label2 450
2 "bar label" 75
Чтобы построить график, введите gnuplot commands.txt в терминал.
Вы можете напрямую использовать гистограммы стилей, предоставляемые gnuplot. Это пример вывода двух файлов:
set style data histograms
set style fill solid
set boxwidth 0.5
plot "file1.dat" using 5 title "Total1" lt rgb "#406090",\
"file2.dat" using 5 title "Total2" lt rgb "#40FF00"
Для многих приложений удобнее использовать стиль построения
histogram, особенно для группировки и суммирования значений.