Source: https://materials.prace-ri.eu/390/2/SciVizPythonIntro.pdf