]> rtime.felk.cvut.cz Git - hubacji1/iamcar.git/blobdiff - gplot.py
Output JSON goal (from JSON input)
[hubacji1/iamcar.git] / gplot.py
index 8b1685cc936bfadd0e087e028e4735fa61c08d8f..1e9005163fd5603cd68578bfa81a3745b8f56d71 100644 (file)
--- a/gplot.py
+++ b/gplot.py
@@ -5,6 +5,7 @@ from matplotlib import pyplot as plt
 from os import listdir
 from sys import argv, exit
 import numpy as np
+import scipy.stats as ss
 
 # ed - euclidean distance
 # rs - reeds and shepp path length
@@ -70,6 +71,22 @@ def gplot():
     plt.show()
     #plt.savefig("WHATEVER")
 
+def mean_conf_int(data, conf=0.95):
+    """Return (mean, lower, uppper) of data.
+
+    see https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data
+
+    Keyword arguments:
+    data -- A list of data.
+    conf -- Confidence interval.
+    """
+    a = np.array(data)
+    n = len(a)
+    m = np.mean(a)
+    se = ss.sem(a)
+    h = se * ss.t.ppf((1 + conf) / 2, n - 1)
+    return (m, m - h, m + h)
+
 def count_if_exist(trajectories, what):
     """From multiple trajectories compute the number of occurences.
 
@@ -246,16 +263,9 @@ def print_successrate():
         print("{}: {}".format(a["f"], v[a["f"]]))
 
 if __name__ == "__main__":
-    plt.rcParams["font.size"] = 29
-    res = []
-    for d in listdir("testlog"):
-        LOGF="testlog/{}".format(d)
-        r = {}
-        for sf in [i["f"] for i in LOG]:
-            r[sf] = load_trajectories("{}/{}".format(LOGF, sf))
-            res.append({
-                "f": d,
-                "elap": get_val_if_exist(r["T2"], "elap"),
-                "rrte": get_val_if_exist(r["T2"], "rrte"),
-                "ppse": get_val_if_exist(r["T2"], "ppse"),
-            })
+    r = {}
+    for sf in [i["f"] for i in LOG]:
+        r[sf] = load_trajectories("{}/{}".format(LOGF, sf))
+    print_successrate()
+    plot_maxtime()
+    plot_costdist()