Skip to content
Snippets Groups Projects
Commit f2afbcd7 authored by Your Name's avatar Your Name
Browse files

Fix

parent 4677af19
No related branches found
No related tags found
No related merge requests found
import pandas as pd
import matplotlib.pyplot as plt
import os
import numpy as np
# Leitura do arquivo
main_folder = "./"
scenarios = [name for name in os.listdir(main_folder) if os.path.isdir(os.path.join(main_folder, name))]
print(scenarios)
ue_dataframes = {}
for scenario in scenarios:
ue_dataframes[scenario] = {}
scenario_path = main_folder + scenario
ues = [name for name in os.listdir(scenario_path) if os.path.isdir(os.path.join(scenario_path, name))]
for ue in ues:
data = []
# Caminho de cada usuário
ue_path = scenario_path + '/' + ue + '/' + 'job_1.txt'
print(ue_path)
# Organização do dataframe
with open(ue_path, 'r') as file:
count = 0
data.append({
"Interval": 0,
"Transfer": 0,
"Bandwidth": 0,
"Jitter": 0,
"Lost/Total Datagrams": 0
})
for line in file:
if "[ 3]" in line and "sec" in line and "MBytes" in line:
parts = line.split()
count += 1
if count < 10:
data.append({
"Interval": count,
"Transfer": parts[5],
"Bandwidth": float(parts[7]),
"Jitter": parts[9] if len(parts) > 6 else None,
"Lost/Total Datagrams": parts[-2] if '/' in parts [-2] else parts[-3] + parts[-2]
})
elif count <= 60:
data.append({
"Interval": count,
"Transfer": parts[4],
"Bandwidth": float(parts[6]),
"Jitter": parts[8] if len(parts) > 6 else None,
"Lost/Total Datagrams": parts[-2] if '/' in parts [-2] else parts[-3] + parts[-2]
})
else:
break
# Criação do DataFrame
ue_dataframes[scenario][ue] = pd.DataFrame(data)
print(ue_dataframes['no_slicing']['ue2']["Bandwidth"])
for scenario in scenarios:
plt.plot(ue_dataframes[scenario]['ue2']["Interval"], ue_dataframes[scenario]['ue2']["Bandwidth"], marker="o", label="Bandwidth", color = "blue")
plt.plot(ue_dataframes[scenario]['ue1']["Interval"], ue_dataframes[scenario]['ue1']["Bandwidth"], marker="o", label="Bandwidth", color = "red")
y_ticks = np.arange(0, max(ue_dataframes[scenario]['ue2']["Bandwidth"].max(),
ue_dataframes[scenario]['ue1']["Bandwidth"].max()) + 10, 2) # Intervalo de 2 Mbps
plt.yticks(y_ticks) # Define os valores do eixo Y com intervalos mais detalhados
plt.title(scenario)
plt.xlabel("Time (s)")
plt.ylabel("Bandwidth (Mbps)")
plt.grid(True)
plt.legend()
plt.tight_layout()
#Exibe o gráfico
plt.show()
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment