Я не могу splot с, pm3d карта, мой файл данных? Gnuplot

У меня есть файл данных, (.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 файлы?

Любая справка ценится.

0
задан 11 December 2018 в 11:44

2 ответа

скопируйте ответ вставки с 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  
0
ответ дан 3 November 2019 в 12:29

Ваш файл данных должен иметь соответствующий формат сетки (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 столбца и добавлении пустых строк.

1
ответ дан 3 November 2019 в 12:29

Другие вопросы по тегам:

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