text: import csv
  import matplotlib.pyplot as plt
  
  SPRITE_COUNT = 1
  PROCESSING_TIME = 3
  DRAWING_TIME = 4
  
  
  def read_results(filename):
      results = []
      with open(filename) as csv_file:
          csv_reader = csv.reader(csv_file, delimiter=',')
          line_count = 0
          for row in csv_reader:
              results.append([float(cell) for cell in row])
          return results
  
  
  def chart_stress_test_draw_moving_pygame():
      results = read_results("stress_test_draw_moving_pygame.csv")
  
      sprite_count = [row[SPRITE_COUNT] for row in results]
      processing_time = [row[PROCESSING_TIME] for row in results]
      drawing_time = [row[DRAWING_TIME] for row in results]
  
      # Plot our results
      plt.title("Moving and Drawing Sprites In Pygame")
      plt.plot(sprite_count, processing_time, label="Processing Time")
      plt.plot(sprite_count, drawing_time, label="Drawing Time")
  
      plt.legend(loc='upper left', shadow=True, fontsize='x-large')
  
      plt.ylabel('Time')
      plt.xlabel('Sprite Count')
  
      plt.savefig("chart_stress_test_draw_moving_pygame.svg")
      # plt.show()
      plt.clf()
  
  
  def chart_stress_test_draw_moving_arcade():
      results = read_results("stress_test_draw_moving.csv")
  
      sprite_count = [row[SPRITE_COUNT] for row in results]
      processing_time = [row[PROCESSING_TIME] for row in results]
      drawing_time = [row[DRAWING_TIME] for row in results]
  
      # Plot our results
      plt.title("Moving and Drawing Sprites In Arcade")
      plt.plot(sprite_count, processing_time, label="Processing Time")
      plt.plot(sprite_count, drawing_time, label="Drawing Time")
  
      plt.legend(loc='upper left', shadow=True, fontsize='x-large')
  
      plt.ylabel('Time')
      plt.xlabel('Sprite Count')
  
      # plt.show()
      plt.savefig("chart_stress_test_draw_moving_arcade.svg")
      plt.clf()
  
  
  def chart_stress_test_draw_moving_draw_comparison():
      r1 = read_results("stress_test_draw_moving.csv")
      r2 = read_results("stress_test_draw_moving_pygame.csv")
  
      sprite_count = [row[SPRITE_COUNT] for row in r1]
      d1 = [row[DRAWING_TIME] for row in r1]
      d2 = [row[DRAWING_TIME] for row in r2]
  
      # Plot our results
      plt.title("Drawing Sprites - Arcade vs. Pygame")
      plt.plot(sprite_count, d1, label="Drawing Time Arcade")
      plt.plot(sprite_count, d2, label="Drawing Time Pygame")
  
      plt.legend(loc='upper left', shadow=True, fontsize='x-large')
  
      plt.ylabel('Time')
      plt.xlabel('Sprite Count')
  
      # plt.show()
      plt.savefig("chart_stress_test_draw_moving_draw_comparison.svg")
      plt.clf()
  
  
  def chart_stress_test_draw_moving_process_comparison():
      r1 = read_results("stress_test_draw_moving_arcade.csv")
      r2 = read_results("stress_test_draw_moving_pygame.csv")
  
      sprite_count = [row[SPRITE_COUNT] for row in r1]
      d1 = [row[PROCESSING_TIME] for row in r1]
      d2 = [row[PROCESSING_TIME] for row in r2]
  
      # Plot our results
      plt.title("Moving Sprites - Arcade vs. Pygame")
      plt.plot(sprite_count, d1, label="Processing Time Arcade")
      plt.plot(sprite_count, d2, label="Processing Time Pygame")
  
      plt.legend(loc='upper left', shadow=True, fontsize='x-large')
  
      plt.ylabel('Time')
      plt.xlabel('Sprite Count')
  
      # plt.show()
      plt.savefig("chart_stress_test_draw_moving_process_comparison.svg")
      plt.clf()
  
  
  def chart_stress_test_collision_comparison():
      r1 = read_results("stress_test_collision_arcade.csv")
      r2 = read_results("stress_test_collision_arcade_spatial.csv")
      r3 = read_results("stress_test_collision_pygame.csv")
  
      sprite_count = [row[SPRITE_COUNT] for row in r1]
      d1 = [row[PROCESSING_TIME] for row in r1]
      d2 = [row[PROCESSING_TIME] for row in r2]
      d3 = [row[PROCESSING_TIME] for row in r3]
  
      # Plot our results
      plt.title("Colliding Sprites - Arcade vs Pygame")
      plt.plot(sprite_count, d1, label="Processing Time Arcade Normal")
      plt.plot(sprite_count, d2, label="Processing Time Arcade Spatial")
      plt.plot(sprite_count, d3, label="Processing Time Pygame")
  
      plt.legend(loc='upper left', shadow=True, fontsize='x-large')
  
      plt.ylabel('Time')
      plt.xlabel('Sprite Count')
  
      # plt.show()
      plt.savefig("chart_stress_test_collision_comparison.svg")
      plt.clf()
  
  
  def main():
      chart_stress_test_draw_moving_pygame()
      chart_stress_test_draw_moving_arcade()
      chart_stress_test_draw_moving_draw_comparison()
      chart_stress_test_draw_moving_process_comparison()
      chart_stress_test_collision_comparison()
  
  
  main()
  