Несколько наборов данных в gnuplot: разница в поведении индекса с итерацией и диапазоном - PullRequest
4 голосов
/ 23 июля 2011

Мне кажется, я понимаю из поведения , как эти две команды построения отличаются, но я не совсем понимаю , почему они отличаются. То есть я не ожидал, что будет разница. Два случая:

plot for [i=0:3] 'ctg-y2.dat' index i using 2 title columnheader(2) with lines

и

plot 'ctg-y2.dat' index 0:3 using 2 title columnheader(2) with lines

(пример файла данных http://gnuplot.cvs.sourceforge.net/viewvc/gnuplot/gnuplot/demo/ctg-y2.dat)

Первый делает то, что я ожидал: для каждого из четырех наборов данных в файле прочитайте заголовок столбца из первой строки набора данных и нанесите на график оставшиеся данные. Второй делает что-то совсем другое: он не читает заголовок столбца для любого набора данных, кроме первого, и кажется, что все данные отображаются, как если бы они были частью одного набора данных. В результате получается беспорядок, поскольку неявные значения x не совпадают правильно.

Описание индекса в руководстве не говорит об этом поведении использования диапазона с индексом, насколько я могу судить. Это где-то задокументировано? Это ошибка? Я что-то делаю глупо?

1 Ответ

2 голосов
/ 24 июля 2011

Я никогда раньше не использовал index, но если я правильно понимаю, кажется, что все объединенные индексированные данные объединяются в один набор.Вот почему все линии отображаются красным цветом.Тем не менее, если построить график по индексу столбца, а не по заданному индексу (например, using 2 против using 1:2), он, похоже, отступит к индексу 1. Это связано с тем, что первая строка не может быть интерпретирована (поскольку она являетсяtitle).
Кажется, проблема с заголовками столбцов работает нормально, поскольку gnuplot ожидает наличия только одного набора данных, который объединяется с ключевым словом index, и поэтому не предполагает наличия нескольких заголовков столбцов.

Поскольку вы уже решили свою проблему с итерациями, нет необходимости в дополнительных предложениях.Я думаю, что именно так вы должны представить свои данные.

...