У меня есть файл данных, (.tab
с 11 столбцами и ~30000 строк) и когда я продолжаю gnuplot
, Я пишу:
set pm3d map
splot "merged.tab" u x:y:z
и говорит:
Warning: Single isoline (scan) is not enough for a pm3d plot.
Hint: Missing blank lines in the data file? See 'help pm3d' and FAQ.
на других файлах это работает, но я не знаю, почему это не работает над этим.
Я должен отредактировать файлы для получения столбцов, которые я хочу? Но я не могу действительно сделать этого через .tab
файлы?
Любая справка ценится.
скопируйте ответ вставки с http://www.gnuplot.info/faq/faq.html#x1-320003.9
3.9 Pm3d splot от файла данных ничего не тянет
Вы действительно устанавливаете pm3d; splot ’a.dat’ и никакой график, но палитра цветов появляются. Возможно, нет никакой пустой строки промежуточных двух последующих сканирований (изолинии) в файле данных? Добавьте пустые строки! Если Вам любопытно, что это означает, то, обратитесь к файлам как demo/glass.dat или demo/triangle.dat в gnuplot демонстрационном каталоге.
Можно найти полезным следующий awk сценарий (назовите его, например, addblanks.awk), который добавляет пустые строки к файлу данных каждый раз, когда число в первом столбце изменяется:
/^[[:blank:]]*#/ {next} # ignore comments (lines starting with #)
NF < 3 {next} # ignore lines which don’t have at least 3 columns
$1 != prev {printf ~\n~; prev=$1} # print blank line
{print} # print the line
Затем или предварительно обработайте свой файл данных командой awk-f addblanks.awk или выведите файл данных на печать под unixish платформой gnuplot> splot ~
Однако моя версия awk не понимает тот код. Вместо этого я должен был заменить третью строку
$1 != prev {printf "\n"; prev=$1} # print blank line
Ваш файл данных должен иметь соответствующий формат сетки (xyz или матрица->, эти две ссылки должны разъясниться [1], [2]). После xyz формата Ваш x столбец должен быть расположен способом, что существует пустая строка между каждым изменением в x-значении.
Например, xyz формат сетки:
# X Y Z
0 0 0
0 1 1
0 2 4
0 3 9
0 4 16
0 5 25
1 0 1
1 1 2
1 2 5
1 3 10
1 4 17
1 5 26
... ... ...
Причина этого формата сетки состоит в том, что Вы стремитесь выводить 2D проекцию на печать изолиний контура, так как Вы используете карту pm3d.
Однако заметьте, что, если Ваш файл данных содержит данные, например, в результате функции, это не означает обязательно, что у них есть формат сетки, и необходимо найти программирование путем, чтобы дать им этот формат. Возможно, этот формат ВКЛАДКИ, о котором я не знаю, имеет данные в формате "сетки" и нуждается просто в сортировке x столбца и добавлении пустых строк.