diff --git a/plot/main.py b/plot/main.py index 5f91b25..a666898 100644 --- a/plot/main.py +++ b/plot/main.py @@ -8,53 +8,51 @@ nb_files = os.listdir(".." + os.sep + "export") size = len(nb_files) -def mean_mkn() -> np.ndarray: +def mean_mkn(arr: list[tuple[int, np.ndarray]]) -> np.ndarray: averages_mkn = np.empty((size, 2)) nb = 0 - for i in nb_files: - data = pd.read_csv(".." + os.sep + "export" + os.sep + i, delimiter=';').to_numpy() + for nb_users, data in arr: rb = data[:, 4] total = 0.0 for x in rb: total = total + x average = total / len(rb) - nb_users = i.split(".")[0] - averages_mkn[nb, 0] = int(nb_users) + averages_mkn[nb, 0] = nb_users averages_mkn[nb, 1] = average nb += 1 return averages_mkn -def rb_available() -> np.ndarray: +def rb_available(arr: list[tuple[int, np.ndarray]]) -> np.ndarray: available = np.zeros((size, 2)) nb = 0 - for i in nb_files: - data = pd.read_csv(".." + os.sep + "export" + os.sep + i, delimiter=';').to_numpy() - nb_users = i.split(".")[0] - available[nb, 0] = int(nb_users) + for nb_users, data in arr: + available[nb, 0] = nb_users available[nb, 1] = (data.shape[0] / (200 * 10000)) * 100 nb += 1 return available -def delay() -> np.ndarray: +def delay(arr: list[tuple[int, np.ndarray]]) -> np.ndarray: delays = np.zeros((size, 2)) nb = 0 - for i in nb_files: - data = pd.read_csv(".." + os.sep + "export" + os.sep + i, delimiter=';').to_numpy() - nb_users = i.split(".")[0] + for nb_users, data in arr: d = data[:, 5] for x in d: - delays[nb, 0] = int(nb_users) + delays[nb, 0] = nb_users delays[nb, 1] = float(x) nb += 1 return delays -averages = mean_mkn() -available = rb_available() -delays = delay() +np_arr: list[tuple[int, np.ndarray]] = list() +for i in nb_files: + np_arr.append((int(i.split(".")[0]), pd.read_csv(".." + os.sep + "export" + os.sep + i, delimiter=';').to_numpy())) + +averages = mean_mkn(np_arr) +available = rb_available(np_arr) +delays = delay(np_arr) delays.sort(axis=0) # Data for plotting averages.sort(axis=0) @@ -74,9 +72,8 @@ ax.set(xlabel='number of users', ylabel='RB utilisés', title='Pourcentage de RB ax.grid() plt.show() - fig, ax = plt.subplots() ax.scatter(delays[:, 0], delays[:, 1]) ax.set(xlabel='number of users', ylabel='delays(ms)', title='Delay') ax.grid() -plt.show() \ No newline at end of file +plt.show()