Как построить график из значений текстового файла с помощью gnuplot?

Для меня это была попытка записи в симлинк, который указывал на файл, которого больше нет:

$ ln -s ~/doomed/file ~/mysymlink
$ rm ~/doomed/file
$ touch ~/mysymlink
$ touch: cannot touch `mysymlink': No such file or directory
9
14.09.2017, 16:57
2 ответа

Рабочее решение для gnuplot v5.0:

Файл входных данныхloc.dat:

location  count1    count2
HZ        100        193
ES        514        289
FP        70         137
BH        31         187

gnuplot скриптlocations.plt:

#!/usr/bin/gnuplot -persist

set title "Location data"
set xlabel "location"
set ylabel "count"
set grid
plot "loc.dat" u (column(0)):2:xtic(1) w l title "","loc.dat" u (column(0)):3:xtic(1) w l title ""

  • set title "Location data"-название основного сюжета

  • set xlabel "location"-Метка настройки для оси x

  • set ylabel "count"-Метка настройки для оси y

  • set grid-добавление сетки на график

  • (column(0)):2:xtic(1)-диапазон столбцов,(column(0))-поскольку 1-й столбец во входном файле имеет не -числовые значения, нам нужно имитировать числовой 1-й столбец, поскольку gnuplot ожидает в нем только числовые значения

  • w l-означаетс линиями , чтобы соединить все точки данных с линиями


Интерактивный запуск:

$ gnuplot
gnuplot> load "locations.plt"

Результат визуализации:

enter image description here

8
27.01.2020, 20:05

Использование того же входного файла (ex.tsv )и создание сценария gnuplot для лучше контролировать детали

set style data histogram 
set style fill solid border -1
plot for [i=2:3] '/dev/stdin' using i:xtic(1) title col 

и gnuploting данные:

gnuplot -p ex.gnu < ex.tsv

мы видим соответствующую гистограмму.

Чтобы создать файл png (для загрузки и отображения в SO )добавьте еще 2 строки:

set terminal pngcairo enhanced font "arial,10" fontscale 1.0 size 600, 400 
set output 'out.png'
set style data histogram 
set style fill solid border -1
plot for [i=2:3] '/dev/stdin' using i:xtic(1) title col

enter image description here

9
27.01.2020, 20:05

Теги

Похожие вопросы