Gnuplot и неструктурированные данные, возможно ли это

#gnuplot

#gnuplot

Вопрос:

До сих пор мне удавалось создавать 2D-графики контуров, используя pm3d для 2D-структурированных данных. Тем не менее, у меня есть несколько файлов данных, которые содержат некоторый поток visualisation неструктурированной сетки, которую я пытаюсь построить рядом со структурированными данными. До сих пор я нашел несколько ссылок, указывающих на некоторые скрипты о том, как создавать ссылки на контурные графики, но, похоже, единственный способ сделать это — через dgrid3d , который генерирует только линии контуров, а не поток поверхности, как на этом рисунке введите описание изображения здесь.

Мне просто интересно, есть ли лучший способ сгенерировать аналогичный график с использованием gnuplot tool .

Большое вам спасибо за помощь!

Ответ №1:

Неверно, что dgrid3d создает только строки. Это этап предварительной обработки ваших данных, которые впоследствии могут быть нанесены с использованием любого стиля, который вы хотите.

Вот пример использования предварительно сгенерированного набора случайных точек с распределением по Гауссу. Показанный код должен работать с gnuplot версии 5.2 или новее. В текущей версии gnuplot возможна немного более простая команда plot, но показанная все еще работает.

 set view map
unset key
set cbtics format ""  # no tic labels on the colorbar
set palette cubehelix negative

#
# Generate a grid from point density of previously-generated Gaussian
#
set dgrid3d 50,50 gauss kdensity

#
# Make all contour lines black
#
set contour base
set cntrparam levels incremental 0,200
set cntrparam firstlinetype 101
set for [L=101:110] linetype L linecolor "black" dashtype solid
set style textbox opaque noborder

set pm3d explicit at b

#
# Order of drawing is important.
# First the surface, then the lines, then the labels
#
splot $random using 1:2:(1) with pm3d, 
      '' using 1:2:(1) with lines nosurface, 
      '' using 1:2:(1):("") with labels boxed
  

введите описание изображения здесь

Комментарии:

1. Привет, Итан, большое тебе спасибо за помощь! тестирование вашего скрипта выше, похоже, ему не нравится set cntrparm firstlinetype 101.

2. Какую версию gnuplot вы используете?

3. Я использую 5.4 ~

4. Странно. Перед публикацией я протестировал все версии до версии 5.2.6. Рисунок, который я прикрепил, был сгенерирован с помощью версии 5.4.0. Что ж, вы можете закомментировать эти строки, но тогда он нарисует контуры в последовательности цветов по умолчанию.

5. Вы говорите, что ваши результаты «похожи на ваш график выше», что, в свою очередь, похоже на приведенный вами пример графика. Пожалуйста, покажите свой текущий график и опишите, что не так, неожиданно, отсутствует или отличается от того, что вы хотите. Поскольку я не знаю, к чему вы стремитесь, простая отправка данных не поможет.