Mercurial > repos > muon-spectroscopy-computational-project > muspinsim_plot
comparison generate_plot.py @ 0:89ae4a5724a5 draft
planemo upload for repository https://github.com/muon-spectroscopy-computational-project/muon-galaxy-tools/main/muspinsim_plot commit d130cf2c46d933fa9d0214ddbd5ddf860f322dc4
author | muon-spectroscopy-computational-project |
---|---|
date | Thu, 25 Aug 2022 16:17:15 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:89ae4a5724a5 |
---|---|
1 import json | |
2 import sys | |
3 | |
4 import matplotlib.pyplot as plt | |
5 | |
6 import numpy as np | |
7 | |
8 | |
9 def main(): | |
10 input_json_path = sys.argv[1] | |
11 | |
12 plot_params = json.load(open(input_json_path, "r")) | |
13 | |
14 for series in plot_params["mu_out_series"]: | |
15 mu_data = np.loadtxt(series['mu_data'], usecols=(0, 1)) | |
16 x, y = mu_data.T | |
17 { | |
18 'line': lambda x, y, label, c, args: | |
19 plt.plot(x, y, | |
20 label=label, | |
21 c=c, | |
22 ls=args['linestyle'], | |
23 lw=args['linewidth'] | |
24 ), | |
25 'points': lambda x, y, label, c, args: | |
26 plt.scatter(x, y, | |
27 label=label, | |
28 c=c, | |
29 s=args['pointscale'], | |
30 marker=args['pointstyle'], | |
31 ) | |
32 }.get(series['series_type']['type'])( | |
33 x, y, series['mu_label'], series['colour'], series['series_type'] | |
34 ) | |
35 | |
36 plt.xlabel(plot_params['xlab']) | |
37 plt.ylabel(plot_params['ylab']) | |
38 plt.title(plot_params['title']) | |
39 plt.legend(loc="upper right") | |
40 | |
41 outfile = "outfile.{}".format(plot_params['out_file_type']) | |
42 plt.savefig(outfile, format=plot_params['out_file_type']) | |
43 | |
44 | |
45 if __name__ == '__main__': | |
46 main() |