gnuplot игнорирует диапазоны x и y при использовании dgrid3d

У меня есть файл с разбросанными данными (точки расположены примерно на вершинах регулярной сетки): первые два столбца - это координаты x и y, затем несколько столбцов с другими данными, которые мне нужно построить. Я хочу получить цветные карты, которые представляют эти данные, и поскольку точки рассеяны, я использую dgrid3d для создания регулярной сетки и более гладкого представления. Моя проблема в том, что когда я устанавливаю dgrid3d , gnuplot игнорирует диапазоны x и y и строит сетку за рамкой рисунка. Bellow - минимальный сценарий для воспроизведения моей проблемы:

set view map
set yrange [0.4:0.8]
set xrange [0.2:0.8]
set pm3d 
set style data lines
set dgrid3d 100,100,4
splot "./Terr.dat" using 1:2:(log($6)) pal

The result that I obtain is the following image: enter image description here

Установка параметра clip1in или clip4in из pm3d не влияет. Если я отключу представление , чтобы результат был 3D-поверхностью, он также игнорирует диапазоны x и y. Я мог бы легко написать сценарий для предварительной обработки данных и удалить точки вне диапазона, который я хочу, но gnuplot должен иметь возможность управлять этим. Есть идеи?

I'm using gnuplot 4.2 patchlevel 6

Благодаря!

0
nl ja de

1 ответы

Я не уверен, что могу воспроизвести вашу проблему, но в вашем скрипте есть несколько смешных вещей. Я не совсем уверен, что строка устанавливает строки данных стиля должна выполняться в этом контексте, когда вы рисуете с помощью pm3d . Я создал простой файл данных:

0 1 4
1 0 5
0 0 2
1 1 3

И я построил его, используя этот скрипт:

set view map
set yrange [0.4:0.8]
set xrange [0.2:0.8]
set dgrid3d 100,100,4
splot 'test.dat' u 1:2:3 w pm3d

И это казалось «работать» (я использую gnuplot 4.6.0).

Simple image

Однако есть несколько примечательных замечаний - обратите внимание, что каждая точка в моем первоначальном домене была вне заданных диапазонов x и y. Gnuplot все еще использовал эти точки при построении поверхности. Это также хорошо показывает, что выглядит функция взвешивания gnuplot (хотя мы могли бы сделать еще лучше, используя только 1 пункт в нашем файле данных).


ОБНОВИТЬ

Между моими 2 компьютерами у меня есть доступ к gnuplot4.2.6, gnuplot4.3.0, gnuplot4.4.2, gnuplot4.6.0, gnuplot4.6.1 и gnuplot4.7.0. gnuplot4.2.6 - это только версия , которая демонстрирует поведение, которое вы описываете. Мне кажется, что они изменили поведение pm3d в ветке CVS 4.3, но не ввели эти изменения обратно в gnuplot4.2. Легкое исправление заключается в обновлении до gnuplot4.6. Я использую его как gnuplot по умолчанию в течение нескольких месяцев, и он кажется довольно стабильным.

1
добавлено
Я обновился до gnuplot 4.6, проблема решена, спасибо!
добавлено автор sinad, источник