Как установить метку оси с заголовком столбца в gnuplot?
Мой вопрос очень прост. Предположим, у меня есть файл данных с заголовками столбцов, например, следующим образом
first second
1 1
2 1
3 6
4 9
В gnuplot как сделать так, чтобы файл данных был нанесен с использованием заголовка столбца в качестве метки оси? например позвонив
plot datafile using 1:2
i получим xaxis с меткой first
, а yaxis помечен как second
?
edit: Я знаю, что я могу использовать заголовок столбца как ключевую запись через set key auto title column head
, однако это не совсем то, что я ищу.
Ответы
Ответ 1
Чтобы разработать предложение @andyras, вот как вы можете это сделать:
datafile = 'filename.txt'
firstrow = system('head -1 '.datafile)
set xlabel word(firstrow, 1)
set ylabel word(firstrow, 2)
plot datafile using 1:2
Вы должны построить с явным выражением using
, иначе gnuplot будет жаловаться на bad data on line 1
.
Ответ 2
Я не думаю, что эта функция встроена в gnuplot; вам, вероятно, придется использовать awk-подобную утилиту, чтобы вытащить эти метки из файла данных.
Вы можете попробовать отправить запрос функции на сайт gnuplot sourceforge и получить отзывы от разработчиков там.
Ответ 3
Я думаю, что это поддерживается. Вы просто должны использовать "":
plot 'file' используя "first": "second"
Хотя, если вы хотите использовать математику в своей используемой спецификации, вам понадобится также функция столбца ("")
plot 'file' используя "first":( column ( "second" ) - (столбец ( "thrid" ))
(Использовать только цитированные имена заголовков с математикой для меня все равно не работало.)