Использование Gnuplot для создания 3D-диаграммы поверхности

#3d #gnuplot #coordinates

#3D #gnuplot #координаты

Вопрос:

Я только начал использовать Gnuplot для создания 3D-диаграмм поверхности, используя данные, рассчитанные моими программами. Интересно, можно ли интерактивно считывать координаты X, Y и Z с диаграммы на экране, наведя указатель мыши на интересующее местоположение?

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

1. Добро пожаловать в Stack Overflow. Пожалуйста, добавьте краткое описание, код, ошибки ваших поисковых / исследовательских работ, как предлагается.

Ответ №1:

Возможно, гипертекст — это вариант. Проверьте help hypertext . Однако, если у вас есть 3D-поверхность с тысячами точек данных, я не уверен, что гипертекст — лучшая идея. Вероятно, это зависит от ваших данных. Проверьте пример ниже.

Код:

 ### hypertext in 3D
reset session

# create some test data
set print $Data
do for [i=1:20] {
    print sprintf("%.2f %.2f %.2f", rand(0), rand(0), rand(0))
}
set print

myCoordinates(x,y,z) = sprintf("%g, %g, %g", x,y,z)
myRandomColor(n) = int(rand(0)*0xffffff)

splot $Data u 1:2:3:(myCoordinates($1,$2,$3)):(myRandomColor(0)) w labels hypertext point pt 7 ps 3 lc rgb var notitle
### end of code  
  

Результат: (снимок экрана терминала wxt)

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

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

1. Спасибо, хотел попробовать. Но после выполнения команды splot появилось предупреждение «Нет предыдущего имени файла». Что я упускаю? Как я уже сказал, я новичок в gnuplot.

2. Я нашел свою ошибку. Вот команда, которая отлично работает. Спасибо. splot $Data u 1: 2: 3: (myCoordinates($1,$2,$3)):( myRandomColor(0)) w метки гипертекстовая точка pt 7 ps 3 lc rgb var notitle

3. ах, извините за ошибку. В более ранней версии у меня было две команды построения, и я удалил одну. Я исправлю это.

4. итак, это отвечает на ваш вопрос?

5. Это в значительной степени, большое вам спасибо. Хотя и не полностью. Я должен выяснить, как применить ваш метод (гипертекст) к поверхности, созданной с помощью команды pm3d. Моя 3D-поверхность представляет собой «тепловую карту», окрашенную палитрой RGB. Я попробую сегодня и дам вам отзыв. Интересно, можно ли вообще использовать гипертекст с поверхностью pm3d?