2017-02-19 14 views
1

Используя gnuplot, как можно построить график sin (x) в плоскости x-z и sin (x) в плоскости x-y, оба одновременно? Я предполагаю, что мне нужно использовать заданную параметрическую команду и команду splot, но я не могу разобраться в остальном! Кто-нибудь знает как это сделать? Я пытаюсь создать сюжет, который демонстрирует природу электромагнитной волны. Благодарю.Используя gnuplot, как можно построить график sin (x) в плоскости x-z и sin (x) в плоскости x-y, оба одновременно?

ответ

1

Да, параметрический режим - это возможность. Например, splot u,0,sin(u), u,sin(u),0 построит две (!) Параметрические кривые u,0,sin(u) и u,sin(u),0. Переменная u является параметрической фиктивной переменной, для простой синусоиды нам нужен только один из них, даже в 3d-режиме.

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

set terminal pngcairo 
set output "emfield.png"           
set yrange [-2:2]       
set zrange [-2:2]       

set parametric 
umax = 6*pi 
set urange [0:umax]       

unset border 
unset xtics 
unset ytics 
unset ztics 

# Set zeroaxes 
set xyplane at 0 
set arrow from 0,0,0 to (umax*1.1),0,0 size screen 0.020,15,60 filled 
set arrow from 0,1,0 to 0,-1,0 size screen 0.020,15,60 filled 
set arrow from 0,0,-1.4 to 0,0,1.4 size screen 0.020,15,60 filled 

splot u,0,sin(u) lc 6, u,sin(u),0 lc 7 

Результат выглядит следующим образом: emfield

+0

Отлично. Спасибо. Именно то, что я искал. Вы говорите, что параметрический режим - одна из возможностей - есть ли другие возможности или способы реализации этого решения? О, и я согласен с вашим предвзятым мнением; он выглядит лучше с дополнительными настройками! – user1094648