Raw File
plotspeciesdensity.py
#
# Sample script showing how to extract species density data from output JSON
# file, and plot it.
#
# Script uses Python with Matplotlib https://matplotlib.org/
#
# Usage:
#
#     python plotspeciesdensity.py resultsfile.json [species1 species2...]
#
# e.g. for asep-results.json, to plot species just '1'
#
#     python plotspeciesdensity.py asep-results.json 1
#
# or to plot all species
#
#     python plotspeciesdensity.py asep-results.json
#


import json
import matplotlib.pyplot
import os.path
import sys

if __name__ == "__main__":
    resultsfile = sys.argv[1]

    fp = open(resultsfile)
    results = json.load(fp)
    fp.close()

    title = os.path.basename(resultsfile)

    specdensities = results['results']['speciesDensity']

    xs = range(0, len(specdensities[0]))

    if len(sys.argv) > 2:
        showspecies = map(int, sys.argv[2:])
    else:
        showspecies = range(0, len(specdensities))

    for i in showspecies:
        matplotlib.pyplot.plot(xs, specdensities[i], "o-", label=str(i))

    matplotlib.pyplot.legend()
    matplotlib.pyplot.gcf().canvas.set_window_title(title)

    matplotlib.pyplot.show()
back to top