Как вы строите гистограммы в gnuplot с текстовыми метками?
Ответы:
Простая гистограмма:
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
Примечание: вам нужно будет добавить пару других основных команд, чтобы получить тот же эффект, что и в образцах изображений.
lc rgb variable
вас не может быть разных ключевых записей.
Я просто хотел бы расширить верхний ответ, который использует GNUPlot для создания гистограммы, для абсолютных новичков, потому что я прочитал ответ и все еще был сбит с толку из-за обилия синтаксиса.
Начнем с написания текстового файла команд GNUplot. Назовем его command.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
в терминал.
Я рекомендую Perl-скрипт генератора гистограмм Дерека Брюнинга. Доступно на http://www.burningcutlery.com/derek/bargraph/
Вы можете напрямую использовать гистограммы стилей, предоставляемые 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
стиль построения, особенно для группировки и наложения значений.