import pandas as pd import matplotlib.pyplot as plt import sys def plot_f1_scores(csv_file): # Read the CSV file df = pd.read_csv(csv_file) # Get unique methods methods = df['Method'].unique() # Create the plot plt.figure(figsize=(10, 6)) # Plot each method for method in methods: method_data = df[df['Method'] == method] # Use row index + 1 as x-axis (to start from 1) x_values = method_data.index + 1 y_values = method_data['F1'] plt.plot(x_values, y_values, marker='o', label=method, linewidth=2, markersize=4) # Customize the plot plt.xlabel('Row Number') plt.ylabel('F1 Score') plt.title('F1 Scores by Method') plt.legend() plt.grid(True, alpha=0.3) # Show the plot plt.tight_layout() plt.show() if __name__ == "__main__": if len(sys.argv) != 2: print("Usage: python plot_f1_scores.py ") sys.exit(1) csv_file = sys.argv[1] plot_f1_scores(csv_file)