Animation using GNUPlot

Animation using GNUPlot I've been trying to create an animation depicting a quasar spectrum moving across the 5 SDSS pass bands with respect to redshift. It is important to visualise what emission lines are moving in and out of bands to be able to understand the color-redshift plots and the changes in it.
I've tried doing this using the animate function in matplotlib, python but i wasn't able to make it work - meaning i worked on it for a couple of days and then i gave up, not having found solutions for my problems on the internet.
And then i came across this site, where the gunn-peterson trough and the lyman alpha forest have been depicted - in a beautiful manner. And this got me interested in using js and d3 to do the animations and make it dynamic - using sliders etc.
In the meanwhile, i thought i'd look up and see if there was a way to create animations in gnuplot and whoopdedoo, what do i find but nirvana!
enter image description here
In the image, you see 5 static curves and one dynamic curve - the 5 static curves correspond to the SDSS filter pass bands i.e the u,g,r,i,z band passes. And the dynamic curve is the composite quasar spectrum - which as i mentioned - will change with respect to the red shift of the quasar.
is the relation between the emitted wavelength λem and wavelength we perceive λobs
As i said, i used gnuplot to create this gif and here's how to -
Create an animate.plt gnuplot script file.
# refer to in case any doubts pop up!
set term gif animate
set output "animate10.gif"
# sets the terminal to give output in a gif format and save it as mentioned
# number of iterations
set xrange[500:10000]
set yrange[0:25]
# set xrange and y range - obviously
# obviously
plot "u.dat" u 1:($2*22) w l lc 000000 title ""
replot "g.dat" u 1:($2*22) w l lc 000000 title ""
replot "r.dat" u 1:($2*22) w l lc 000000 title ""
replot "i.dat" u 1:($2*22) w l lc 000000 title ""
replot "z.dat" u 1:($2*22) w l lc 000000 title ""
# plot the filters in the first place.
# lc 000000 is to draw the lines in black color.
load "animate.gnuplot"
# to load the data to be animated
set output
# to end animation sequence
where the gnuplot.animate file contains the following
replot "vandenberk_quasar_composite_spectrumtxt.txt" u ($1*(i*0.05+1)):($2) w l lc 000000 title ""
i = i+1
if (i<n) reread
and you can run this script in gnuplot as follows
gnuplot> load "animate.plt"
But i seriously suggest you run the commands one after the other dynamically on the gnuplot terminal - to check every step of the program.
Note -
gnuplot> load "animate.plt"
End of animation sequence
  • If you don't see the End of animation sequence on the screen, then your animation is incomplete.
  • If you see jibber-jabber on the screen after the command
gnuplot> load "animate.gnuplot"
then you haven't done
gnuplot> set output "output.gif"
Written with StackEdit.


Popular posts from this blog

Comment on keyboard shortcuts in GMail

Looking back at PySangaman 2018