diff --git a/openairinterface5g/carlos_mestrado/medicoes/script_plot_mestrado.py b/openairinterface5g/carlos_mestrado/medicoes/script_plot_mestrado.py
index 4f8bfe76a62d0ff4591222150d10641a95b6e4f9..60d894470697c00769247463cc5583574992836d 100644
--- a/openairinterface5g/carlos_mestrado/medicoes/script_plot_mestrado.py
+++ b/openairinterface5g/carlos_mestrado/medicoes/script_plot_mestrado.py
@@ -21,10 +21,10 @@ ue_dataframes = {}
 for scenario in scenarios:
     ue_dataframes[scenario] = {}
     scenario_path = main_folder + scenario
-    cap_confs = [name for name in os.listdir(scenario_path) if os.path.isdir(os.path.join(scenario_path, name))] 
-    for cap_conf in cap_confs: 
-        ue_dataframes[scenario][cap_conf] = {}
-        cap_path = scenario_path + '/' + cap_conf
+    cap_confs_list = [name for name in os.listdir(scenario_path) if os.path.isdir(os.path.join(scenario_path, name))]  
+    for cap_conf_folder in cap_confs_list: 
+        ue_dataframes[scenario][cap_conf_folder] = {}
+        cap_path = scenario_path + '/' + cap_conf_folder
         ues = [name for name in os.listdir(cap_path) if os.path.isdir(os.path.join(cap_path, name))]
         for ue in ues: 
             data = []
@@ -45,7 +45,6 @@ for scenario in scenarios:
                     if "[  3]" in line and "sec" in line and "MBytes" in line:
                         parts = line.split()
                         count += 1
-                        print(parts)
                         if count < 10: 
                             data.append({
                                 "Interval": count,
@@ -66,44 +65,57 @@ for scenario in scenarios:
                             })
                         else:
                             break
-            ue_dataframes[scenario][cap_conf][ue] = pd.DataFrame(data)
+            ue_dataframes[scenario][cap_conf_folder][ue] = pd.DataFrame(data)
 
 for scenario in scenarios:
+    conf_list = []
     pl_ue1 = []
     pl_ue2 = []
     scenario_path = main_folder + scenario
-    cap_confs = [name for name in os.listdir(scenario_path) if os.path.isdir(os.path.join(scenario_path, name))] ## Configuração da capacidade dos slices
-    cap_confs = sorted(cap_confs, key=lambda x: (x == 'no_slicing', x))
-    for cap_conf in cap_confs:
-        plt.plot(ue_dataframes[scenario][cap_conf]['ue2']["Interval"], ue_dataframes[scenario][cap_conf]['ue2']["Bandwidth"], marker="o", label="UE2", color = "blue", linestyle="-")
-        plt.plot(ue_dataframes[scenario][cap_conf]['ue1']["Interval"], ue_dataframes[scenario][cap_conf]['ue1']["Bandwidth"], marker="o", label="UE1", color = "red", linestyle="--")
-        y_ticks = np.arange(0, max(ue_dataframes[scenario][cap_conf]['ue2']["Bandwidth"].max(),
-                              ue_dataframes[scenario][cap_conf]['ue1']["Bandwidth"].max()) + 10, 10)  # Intervalo de 2 Mbps
-        plt.yticks(y_ticks)  # Define os valores do eixo Y com intervalos mais detalhados  
-        plt.title(scenario)
+    cap_confs_list = [name for name in os.listdir(scenario_path) if os.path.isdir(os.path.join(scenario_path, name))] ## Configuração da capacidade dos slices
+    cap_confs_list = sorted(cap_confs_list, key=lambda x: (x == 'no_slicing', x))
+    with open(os.path.join(scenario_path, "scenario_description.txt"), 'r') as file:
+        scenario_file = file.read().split("\n")
+    scenario_info = {item.split(':', 1)[0].strip(): item.split(':', 1)[1].strip() for item in scenario_file if item}
+    for cap_conf_folder in cap_confs_list:
+        cap_path = scenario_path + '/' + cap_conf_folder
+        with open(os.path.join(cap_path, "cap_conf_description.txt"), 'r') as file:
+            cap_conf_description = file.read().split("\n")
+        cap_conf_info = {item.split(':', 1)[0].strip(): item.split(':', 1)[1].strip() for item in cap_conf_description if item}
+        plt.plot(ue_dataframes[scenario][cap_conf_folder]['ue2']["Interval"], ue_dataframes[scenario][cap_conf_folder]['ue2']["Bandwidth"], marker="o", label=f"UE2 (Banda: {scenario_info['UE2_bandwidth']} Mbps)", color = "blue", linestyle="-")
+        plt.plot(ue_dataframes[scenario][cap_conf_folder]['ue1']["Interval"], ue_dataframes[scenario][cap_conf_folder]['ue1']["Bandwidth"], marker="o", label=f"UE1 (Banda: {scenario_info['UE1_bandwidth']} Mbps)", color = "red", linestyle="--")
+        y_ticks = np.arange(0, max(ue_dataframes[scenario][cap_conf_folder]['ue2']["Bandwidth"].max(),
+                              ue_dataframes[scenario][cap_conf_folder]['ue1']["Bandwidth"].max()) + 10, 10)  # Intervalo de 2 Mbps
+        plt.yticks(y_ticks)  # Define os valores do eixo Y com intervalos mais detalhados 
+        if cap_conf_info['UE1_slice'] != '-':
+            plt.title(f"Taxa Efetiva de Usuários Móveis: UE1 no Slice 1 ({cap_conf_info['UE1_slice']}% dos Recursos) e UE2 no Slice 2 ({cap_conf_info['UE2_slice']}% dos Recursos)")
+        else:
+            plt.title(f"Taxa Efetiva de Usuários sem configuração dos slices") 
         plt.xlabel("Tempo (s)")
-        plt.ylabel("Taxa oferecida (Mbps)")
+        plt.ylabel("Taxa efetiva (Mbps)")
         plt.grid(which="both", linestyle="--", linewidth=0.5, alpha=0.7)  # Grelha mais sutil
         plt.tight_layout()  # Garante que todos os elementos estejam visíveis
         plt.legend()
+        if cap_conf_info['UE1_slice'] != '-' and cap_conf_info['UE2_slice'] != '-':
+            conf_list.append(f"Conf. {cap_conf_info['UE1_slice']}% / {cap_conf_info['UE2_slice']}%")
+        else:
+            conf_list.append(f'Conf. No slice')
         plt.tight_layout()
-        pl_ue1.append((ue_dataframes[scenario][cap_conf]['ue1']["PacketsLost"].sum()/ue_dataframes[scenario][cap_conf]['ue1']["TotalPackets"].sum())*100)
-        pl_ue2.append((ue_dataframes[scenario][cap_conf]['ue2']["PacketsLost"].sum()/ue_dataframes[scenario][cap_conf]['ue2']["TotalPackets"].sum())*100)
+        pl_ue1.append((ue_dataframes[scenario][cap_conf_folder]['ue1']["PacketsLost"].sum()/ue_dataframes[scenario][cap_conf_folder]['ue1']["TotalPackets"].sum())*100)
+        pl_ue2.append((ue_dataframes[scenario][cap_conf_folder]['ue2']["PacketsLost"].sum()/ue_dataframes[scenario][cap_conf_folder]['ue2']["TotalPackets"].sum())*100)
         plt.show()
-
     # Configurar a posição das barras no eixo x
-    x = np.arange(len(cap_confs))  # Posições das scenarios
+    x = np.arange(len(conf_list))  # Posições das scenarios
     largura = 0.4  # Largura das barras
-
     # Criar as barras
-    plt.bar(x - largura / 2, pl_ue1, width=largura, label='UE1', color='red')  # Barras para UE1
-    plt.bar(x + largura / 2, pl_ue2, width=largura, label='UE2', color='blue')  # Barras para UE2
+    plt.bar(x - largura / 2, pl_ue1, width=largura, label=f"UE1 (Banda: {scenario_info['UE1_bandwidth']} Mbps)", color='red')  # Barras para UE1
+    plt.bar(x + largura / 2, pl_ue2, width=largura, label=f"UE2 (Banda: {scenario_info['UE2_bandwidth']} Mbps)", color='blue')  # Barras para UE2
 
     # Adicionar rótulos e título
-    plt.xlabel('Diferentes configurações de capacidade')
+    plt.xlabel('Diferentes configurações de capacidade (Slice 1 / Slice 2)')
     plt.ylabel('Perda de pacote (%)')
-    plt.title('Perda de Pacotes para Diferentes Configurações de Capacidade')
-    plt.xticks(x, cap_confs)  # Ajustar rótulos do eixo x
+    plt.title('Perda de Pacotes (%) para Diferentes Configurações de Capacidade')
+    plt.xticks(x, conf_list)  # Ajustar rótulos do eixo x
     plt.legend()  # Adicionar legenda
 
     # Exibir o gráfico