Как создать трехмерный полярный граф с помощью gnuplot
Я изучаю частотные характеристики микрофонов.
Чтобы помочь проанализировать их, я написал программу, которая будет выводить: угол прихода, частоту (Гц) и отклик на заданный угол и частоту (дБ).
Я написал скрипт gnuplot, который отобразит все эти данные в трехмерный график:
Код для gnuplot:
set xlabel "Arrival Angle (degrees)" font "arial,8"
set ylabel "Frequency (Hz)" font "arial,8"
set zlabel "Gain (dB)" font "arial,8"
set grid lc rgbcolor "#BBBBBB"
set xrange[-180:180]
set yrange[0:20000]
set zrange[-60:0]
unset key
set view 30,56,0.98
splot 'freq.dat' u 1:2:3 with pm3d
Я знаю, что это немного необычно, но я хотел бы представить это на своего рода трехмерном полярном графике, но я не могу понять, как это сделать. (Плохой) рисунок ниже показывает то, чего я пытался достичь:
Кто-нибудь может указать мне правильное направление?
Заранее спасибо. Дэйв.
Обновление 26 апреля 2013
Я играл и создал обновленный скрипт:
reset
set title "3D version using cylindrical coordinate system"
set ticslevel 0.0
set view 30,56,0.98
set angles degrees
set mapping cylindrical
set parametric
set zrange[-60:0]
unset key
splot 'freqResp.dat' u 1:3:2 with pm3d
Этот скрипт почти делает то, что мне нужно, но, к сожалению, он отображает только половину графика. Передняя половина остается незастроенной. Например:
Если кто-нибудь захочет поиграть со сценарием выше, я разместил файл 'freqResp.dat' здесь.
Когда я строю тот же файл с моим оригинальным сценарием, я получаю изображение ниже (поэтому все данные присутствуют в файле freqResp.dat):
Кто-нибудь может мне помочь с gnuplot для рендеринга передней половины графика? Спасибо, Дейв.
1 ответ
После помощи нескольких пользователей, окончательный ответ:
reset
set title "3D version using cylindrical coordinate system"
set ticslevel 0.0
set view 30,56,0.98
set angles degrees
set mapping cylindrical
set parametric
set zrange[-60:0]
unset key
set pm3d depthorder
splot 'freqResp.dat' u 1:3:2 with pm3d
Спасибо всем, кто помог