#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?