|
1 | 1 | from random import randint, seed
|
2 | 2 | from copy import deepcopy
|
3 | 3 | from matplotlib import pyplot as plt
|
4 |
| -import numpy as np |
| 4 | +import numpy as np |
| 5 | +import os |
5 | 6 |
|
6 | 7 | class _PreemptivePriorityScheduling:
|
7 | 8 | process_list = []
|
@@ -91,30 +92,30 @@ def schedulingProcess(self):
|
91 | 92 |
|
92 | 93 | self.TT = total_wt / len(self.process_list)
|
93 | 94 | self.WT = total_tt / len(self.process_list)
|
94 |
| - |
| 95 | + print(cur_process_data) |
95 | 96 | return cur_process_data
|
96 | 97 |
|
97 | 98 | def plot_gantt_chart(self, cur_process_data):
|
98 | 99 | fig, gnt = plt.subplots()
|
99 | 100 | gnt.set_xlabel('Time')
|
100 | 101 | gnt.set_ylabel('Processes')
|
101 | 102 |
|
102 |
| - try: |
103 |
| - colors = plt.cm.viridis(np.linspace(0, 1, len(cur_process_data))) |
104 | 103 |
|
105 |
| - for i, (key, value) in enumerate(cur_process_data.items()): |
106 |
| - process_name = value[0] |
107 |
| - start_time = value[1] |
108 |
| - end_time = value[2] |
| 104 | + colors = plt.cm.viridis(np.linspace(0, 1, len(cur_process_data))) |
| 105 | + |
| 106 | + for i, (key, value) in enumerate(cur_process_data.items()): |
| 107 | + process_name = value[0] |
| 108 | + start_time = value[1] |
| 109 | + end_time = value[2] |
109 | 110 |
|
110 |
| - color = colors[i] |
111 |
| - gnt.broken_barh([(start_time, end_time - start_time)], (0, 1), facecolors=(color)) |
| 111 | + color = colors[i] |
| 112 | + gnt.broken_barh([(start_time, end_time - start_time)], (0, 1), facecolors=(color)) |
112 | 113 |
|
113 |
| - gnt.text(start_time + 1, 1, process_name, verticalalignment='center', horizontalalignment='center', color='black') |
| 114 | + gnt.text(start_time + 1, 1, process_name, verticalalignment='center', horizontalalignment='center', color='black') |
| 115 | + if os.path.isfile("GTChart.png"): |
| 116 | + os.remove("GTChart.png") |
| 117 | + plt.savefig("GTChart.png", bbox_inches='tight', dpi=150) |
114 | 118 |
|
115 |
| - plt.savefig("./GANTT_OUTPUT/GTChart.png", bbox_inches='tight', dpi=100) |
116 |
| - except: |
117 |
| - plt.savefig("./GANTT_OUTPUT/GTChart.png", bbox_inches='tight', dpi=100) |
118 | 119 |
|
119 | 120 | def runner(process_list):
|
120 | 121 | proseso = _PreemptivePriorityScheduling()
|
|
0 commit comments