Selaa lähdekoodia

trying to split graphs onto 2 pages

Tareef 6 vuotta sitten
vanhempi
commit
49f3842b9d
1 muutettua tiedostoa jossa 28 lisäystä ja 16 poistoa
  1. 28 16
      a2/tsp_local.py

+ 28 - 16
a2/tsp_local.py

@@ -4,6 +4,7 @@ import math
 from heapq import heappush, heappop
 from random import shuffle, sample, randint, SystemRandom
 import matplotlib.pyplot as plt
+from matplotlib.backends.backend_pdf import PdfPages
 
 # globals to contain reference solutions
 neos14 = [318, 324, 336, 319, 351, 311, 272, 361, 274, 322]
@@ -285,22 +286,33 @@ def main():
             scores.append(prob_scores / 100.0)
             good_sols.append(good_solutions)
             
-    figure, axes = plt.subplots(3, 2, True)
+    with PdfPages("hill_climbing.pdf") as pdf:
+        figure, axes = plt.subplots(3, 1, True)
+        plt.title("Hill Climbing")
+        
+        for i in range(0, 3):
+            axes[i].plot(range(1, 11), solution_steps[i], label = "Steps to Solution", color = 'b')
+            axes[i].set_xlabel("Problem Instance w/ " + str(i + 14) + " cities")
+            axes[i].set_ylabel("Steps Taken", color = 'b')
+            axis_twin = axes[i].twinx()
+            axis_twin.plot(range(1, 11), solution_scores[i], label = "Solution Quality", color = 'r')
+            axis_twin.set_ylabel("Solution Quality", color = 'r')
+            #axes[i].legend()
+            #axis_twin.legend()
+        pdf.savefig()
+        plt.close()
+        
+        figure, axes = plt.subplots(3, 1, True)
+        plt.title("Hill Climbing Cont.")
+        
+        for i in range(0, 3):
+            axes[i].plot(range(1, 11), good_sol_counts[i], color = 'b')
+            axes[i].set_xlabel("Problem Instance w/ " + str(i + 14) + " cities")
+            axes[i].set_ylabel("% of runs <= NEOS", color = 'b')
             
-    for i in range(0, 3):
-        axes[i][0].plot(range(1, 11), solution_steps[i], label = "Steps to Solution", color = 'b')
-        axes[i][0].set_xlabel("Problem Instance w/ " + str(i + 14) + " cities")
-        axes[i][0].set_ylabel("Steps Taken", color = 'b')
-        axis_twin = axes[i][0].twinx()
-        axis_twin.plot(range(1, 11), solution_scores[i], label = "Solution Quality", color = 'r')
-        axis_twin.set_ylabel("Solution Quality", color = 'r')
-        #axes[i].legend()
-        #axis_twin.legend()
-    for i in range(0, 3):
-        axes[i][1].plot(range(1, 11), good_sol_counts[i], color = 'b')
-        axes[i][1].set_xlabel("Problem Instance w/ " + str(i + 14) + " cities")
-        axes[i][1].set_ylabel("% of runs <= NEOS", color = 'b')
-
-    plt.savefig("hill_climbing.pdf")
+        pdf.savefig()
+        plt.close()
+
+    #plt.savefig("hill_climbing.pdf")
 
 main()