Использование столбца заголовка в качестве фиксированного значения для оси Y - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть данные, которые выглядят так (для пустых строк gnuplot ничего не будет рисовать, поэтому у меня есть прерванный график).

0,1,2,4,5,6
899.9999999999869,899.9999999999869,899.9999999999869,3602759.9999999995,845649.9999999999,899.9999999999869
842729.9999999999,842729.9999999999,842729.9999999999,5517769.999999999,3600219.9999999995,842729.9999999999
,,,,,
845649.9999999999,845649.9999999999,845649.9999999999,,,
3600219.9999999995,3600219.9999999995,3600219.9999999995,,,

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

plot for [i=1:6] "".i.".dat" using 2:(i) with linespoints

(i) заставляет gnuplot провести линию через две точки, все с фиксированным y.

Могу ли я сделать то же самое,но использовать первую строку / заголовок для каждого столбца в качестве значения для у?Например, для второго столбца я хотел бы построить график с помощью plot "data.dat" using 2:(2), но где (2) не задан жестко, а взят из заголовка?

1 Ответ

0 голосов
/ 11 февраля 2019

Да, если ваша версия gnuplot достаточно свежая.Начиная с (я думаю) версии 5.2.2, функция "columhead (x)" может быть оценена внутри спецификатора использования.Однако он оценивается как строка, поэтому он должен быть приведен к числу, прежде чем использовать его в качестве значения координаты y:

   set datafile separator comma
   plot for [i=1:6] "".i.".dat" using 2:(real(columnhead(i))) with linespoints title "column ".columnhead(i)
...