2023-03-24 10:37:35 +01:00
|
|
|
import os
|
|
|
|
import matplotlib.pyplot as plt
|
|
|
|
import numpy as np
|
|
|
|
import pandas as pd
|
|
|
|
|
2023-03-24 10:48:49 +01:00
|
|
|
nb_files = os.listdir(".." + os.sep + "export")
|
2023-03-24 10:37:35 +01:00
|
|
|
|
|
|
|
size = len(nb_files)
|
|
|
|
|
|
|
|
|
2023-03-24 11:12:40 +01:00
|
|
|
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
|
|
|
|
|
|
|
|
|
2023-03-24 11:41:34 +01:00
|
|
|
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)
|
2023-03-28 09:30:21 +02:00
|
|
|
available[nb, 1] = (data.shape[0] / (200 * 10000)) * 100
|
2023-03-24 11:41:34 +01:00
|
|
|
nb += 1
|
|
|
|
return available
|
|
|
|
|
|
|
|
|
2023-03-24 11:12:40 +01:00
|
|
|
averages = mean_mkn()
|
2023-03-24 11:41:34 +01:00
|
|
|
available = rb_available()
|
2023-03-24 10:37:35 +01:00
|
|
|
# Data for plotting
|
|
|
|
averages.sort(axis=0)
|
|
|
|
|
|
|
|
print(averages)
|
|
|
|
fig, ax = plt.subplots()
|
2023-03-24 11:41:34 +01:00
|
|
|
ax.scatter(averages[:, 0], averages[:, 1])
|
2023-03-24 10:37:35 +01:00
|
|
|
|
2023-03-24 11:41:34 +01:00
|
|
|
ax.set(xlabel='number of users', ylabel='Efficacité spectrale', title='Efficacité spectrale')
|
2023-03-24 10:37:35 +01:00
|
|
|
ax.grid()
|
|
|
|
|
|
|
|
# fig.savefig("test.png")
|
|
|
|
plt.show()
|
2023-03-24 11:41:34 +01:00
|
|
|
|
|
|
|
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()
|