from matplotlib import pyplot as plt def read_classic_data(): task_one_classic_data = [] task_two_classic_data = [] with open("log_t1_classic.txt", "r") as f: # Read csv file data = f.read() # Split data into lines data = data.splitlines() # Split lines into columns data = [line.split(",") for line in data] data = data[1:] # Remove third column for row in data: task_one_classic_data.append(row[:2]) with open("log_t2_classic.txt", "r") as f: # Read csv file data = f.read() # Split data into lines data = data.splitlines() # Split lines into columns data = [line.split(",") for line in data] data = data[1:] # Remove third column for row in data: task_two_classic_data.append(row[:2]) return task_one_classic_data, task_two_classic_data def plot_classic_data(task_one_classic_data, task_two_classic_data): # Plot data x = [int(row[0]) for row in task_one_classic_data] y_task_one = [float(row[1]) for row in task_one_classic_data] y_task_two = [float(row[1]) for row in task_two_classic_data] plt.plot(x, y_task_one,label="Task 1") plt.plot(x, y_task_two, label="Task 2") plt.suptitle(f"Comparison between task 1 and task 2 code (n_tests: {len(x)})") plt.xlabel("Maze") plt.ylabel("Time (s)") plt.legend() # Save plot plt.savefig("../report/images/provided_tests_comparrison.png") plt.clf() def read_harder_data(): harder_data = [] with open("log_t2_harder.txt", "r") as f: # Read csv file data = f.read() # Split data into lines data = data.splitlines() # Split lines into columns data = [line.split(",") for line in data] data = data[1:] # Remove third column for row in data: harder_data.append(row[:2]) return harder_data def plot_harder_data(harder_data): # Plot data x = [int(i) for i in range(50, 950, 50)] y = [float(row[1]) for row in harder_data] plt.plot(x, y) plt.suptitle(f"How maze size affects time (n_tests: {len(x)})") plt.xlabel("Maze size (N) -> (N x N)") plt.ylabel("Time (s)") # Save plot plt.savefig("../report/images/custom_tests_comparrison.png") plt.clf() def read_treasure_data(): treasure_data = [] with open("log_t3_treasure_hunt.txt", "r") as f: # Read csv file data = f.read() # Split data into lines data = data.splitlines() # Split lines into columns data = [line.split(",") for line in data] data = data[1:] # Remove third column for row in data: treasure_data.append(row[:2]) return treasure_data def plot_treasure_data(treasure_data): # Plot data x = [int(row[0]) for row in treasure_data] y = [float(row[1]) for row in treasure_data] plt.plot(x, y) plt.suptitle(f"Treasure hunt for provided tests (n_tests: {len(x)})") plt.xlabel("Maze") plt.ylabel("Time (s)") # Save plot plt.savefig("../report/images/treasures_comparrison.png") plt.clf() def main(): task_one_classic_data, task_two_classic_data = read_classic_data() plot_classic_data(task_one_classic_data, task_two_classic_data) harder_data = read_harder_data() plot_harder_data(harder_data) treasure_data = read_treasure_data() plot_treasure_data(treasure_data) if __name__ == "__main__": main()