Как вы строите гистограммы в gnuplot?

Как вы рисуете гистограммы в gnuplot с текстовыми метками?

Ответ 1

Простая гистограмма:

bar graph

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

Если вы хотите по-разному стилизовать свои бары, вы можете сделать что-то вроде:

multi color bar graph

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

barchart_multi

Если вы хотите быть сложным и использовать некоторые аккуратные трюки gnuplot:

В Gnuplot есть psuedo-столбцы, которые можно использовать в качестве индекса для цвета:

plot 'data.dat' using 1:2:0 with boxes lc variable

barchart_multi2

Далее вы можете использовать функцию для выбора нужных цветов:

mycolor(x) = ((x*11244898) + 2851770)
plot 'data.dat' using 1:2:(mycolor($0)) with boxes lc rgb variable

barchart_multi3

Примечание: вам нужно будет добавить пару других базовых команд, чтобы получить тот же эффект, что и образцы изображений.

Ответ 2

plot "data.dat" using 2: xtic(1) with histogram

Здесь data.dat содержит данные формы

title 1
title2 3
"long title" 5

Ответ 4

Я просто хотел бы остановиться на верхнем ответе, который использует 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 в терминале.

Ответ 5

Вы можете напрямую использовать гистограммы стилей, предоставляемые 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"