import pandas as pd import matplotlib.pyplot as plt # Charger et nettoyer les fichiers CSV def load_and_clean_data(filename): # Charger les données data = pd.read_csv(filename, header=None, names=["value"]) # Nettoyer les données data["value"] = data["value"].str.replace(";", "", regex=False).str.strip() # Tenter de convertir les valeurs en float data["value"] = pd.to_numeric(data["value"], errors="coerce") # Supprimer les lignes invalides data = data.dropna() return data # Charger les deux fichiers CSV file1 = "data_eval_protocol1.csv" # Remplacez par le nom de votre premier fichier CSV file2 = "data_eval_protocol2.csv" # Remplacez par le nom de votre second fichier CSV data1 = load_and_clean_data(file1) data2 = load_and_clean_data(file2) # Diviser les données en groupes de 1000 lignes group_size = 1000 num_groups = len(data1) // group_size x_values = list(range(20, 91, (90 - 20) // (num_groups - 1))) # Calculer les médianes pour chaque groupe medians1 = [data1.iloc[i * group_size:(i + 1) * group_size, 0].median() for i in range(num_groups)] medians2 = [data2.iloc[i * group_size:(i + 1) * group_size, 0].median() for i in range(num_groups)] # Création du graphe plt.figure(figsize=(10, 6)) plt.plot(x_values, medians1, marker='o', linestyle='-', color='b', label='Idle time') plt.plot(x_values, medians2, marker='s', linestyle='--', color='r', label='FTP') plt.title("Evaluation 1: System quality by CPU utilization") plt.xlabel("CPU utilization") plt.ylabel("System quality") plt.legend() plt.grid() plt.savefig("mygraph_eval1.png")