import os import matplotlib.pyplot as plt import numpy as np import pandas as pd nb_files = os.listdir(".." + os.sep + "export") size = len(nb_files) def mean_mkn() -> 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() 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, 1] = average nb += 1 return averages_mkn def rb_available() -> 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) available[nb, 1] = (data.shape[0] / (200 * 10000)) * 100 nb += 1 return available def delay() -> 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] d = data[:, 5] for x in d: delays[nb, 0] = int(nb_users) delays[nb, 1] = float(x) print(float(x)) nb += 1 return delays averages = mean_mkn() available = rb_available() delays = delay() delays.sort(axis=0) # Data for plotting averages.sort(axis=0) #print(averages) fig, ax = plt.subplots() ax.scatter(averages[:, 0], averages[:, 1]) ax.set(xlabel='number of users', ylabel='Efficacité spectrale', title='Efficacité spectrale') ax.grid() # fig.savefig("test.png") plt.show() fig, ax = plt.subplots() ax.scatter(available[:, 0], available[:, 1]) ax.set(xlabel='number of users', ylabel='RB utilisés', title='Pourcentage de RB utilisés') 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()