aboutsummaryrefslogtreecommitdiffstats
path: root/simulation/plot_utils.py
blob: 94727072aa7e8c0e48edd33eeca511d3e8c7ff86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import argparse
import json
import seaborn
seaborn.set_style('whitegrid')

parser = argparse.ArgumentParser(description='Process logs')
parser.add_argument('-x', help='name of parameters on x axis', default='time')
parser.add_argument('-y', help='name of parameters on y axis', default='rmse')
parser.add_argument('f', help='list of logs to parse', nargs='+')
parser.add_argument('-dest', help='name of figure to save', default='fig.png')
args = parser.parse_args()


def default():
    for file_name in args.f:
        x, y = [], []
        with open(file_name) as f:
            for line in f:
                jason = json.loads(line)
                x.append(jason[args.x])
                y.append(jason[args.y])
        plt.plot(x, y, label=file_name)

    plt.legend()
    plt.xlabel(args.x)
    plt.ylabel(args.y)
    plt.savefig(args.dest)

def tmp_finale():
    plt.clf()
    for file_name in args.f:
        x, y = [], []
        with open(file_name) as f:
            for index, line in zip(range(15), f):
                assert index <= 15
                jason = json.loads(line)
                x.append(jason[args.x])
                y.append(np.sqrt(jason[args.y]))
        plt.plot(x, y, label=file_name)

    plt.legend(fontsize=15)
    plt.xlabel(r"Nbr of Batches (size $100$)", fontsize=15)
    plt.ylabel(r"RMSE", fontsize=15)
    plt.savefig(args.dest)

if __name__ == "__main__":
    tmp_finale()