These were made using a combination of python and gnuplot. Initially it was all python, but I found that gnuplot was much faster and more stable than MayaVi in this case. Not sure if that’s always true.

How these were plotted:

The data points were generated from the BZ-simulation equation shown in my paper. I have tried plotting these huge data sets in MayaVi, Mathematica, and gnuplot. There was no detailed quantitative comparison as to which was the best, and each has its own advantages.

Since the simulation (data crunching) was done in python, MayaVi had the advantage of being fully integrated into the python code. However, it tended to be very slow with the large sets of data.

Mathematica made some very nice-looking plots, but was also pretty slow with large sets and also I was unable to figure out how to remove the 3D frame around the image.

The overall winner in was gnuplot, which excels primarily in 2D plots but has some basic 3D capabilities. Most importantly, it’s probably ten times as fast as the others for very large data sets. Typical gnuplot commands for these plots were as follows:

$ gnuplot

gnuplot> unset border; unset tics

gnuplot> set key off

gnuplot> unset colorbox

gnuplot> set view

gnuplot> set size 1.2,1.2

gnuplot> set palette rgbformulae 30,31,5

gnuplot> splot ‘mydata.tsv’ using 1:2:3 with points palette pointsize 0.01 pointtype 7

mydata.tsv is just a text file with x,y,z data separated with spaces