1
votes

Using gnuplot, how can I plot sin(x) in the x-z plane and sin(x) in the x-y plane, both at the same time? I'm guessing I need to use the set parametric command and the splot command, but I can't seem to work out the rest! Does anyone know how to do this? I'm trying to generate a plot which demonstrates the nature of an electromagnetic wave. Thanks.

1

1 Answers

2
votes

Yes, parametric mode is a possibility. For example, splot u,0,sin(u), u,sin(u),0 will plot the two (!) parametric curves u,0,sin(u) and u,sin(u),0. The variable u is the parametric dummy variable, for a simple sine function we only need one of them, even in 3d mode.

It might look a bit nicer with the following settings, but this is of course my biased opinion, far from finished, and depends on your needs:

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

The result looks like this: emfield