57 lines
1.5 KiB
Python
57 lines
1.5 KiB
Python
import pandas as pd
|
||
import matplotlib.pyplot as plt
|
||
|
||
|
||
df = pd.read_csv('results.csv', encoding='utf-8-sig')
|
||
|
||
print(df)
|
||
|
||
# Получаем список лабиринтов
|
||
mazes = df['лабиринт'].unique()
|
||
|
||
#График времени
|
||
for maze in mazes:
|
||
subset = df[df['лабиринт'] == maze]
|
||
|
||
plt.figure(figsize=(8, 5))
|
||
plt.bar(subset['стратегия'], subset['время_мс'])
|
||
|
||
plt.title(f'Время выполнения — {maze}')
|
||
plt.xlabel('Алгоритм')
|
||
plt.ylabel('Время (мс)')
|
||
|
||
plt.tight_layout()
|
||
plt.savefig(f'time_{maze}.png')
|
||
plt.close()
|
||
|
||
#График посещенных клеток
|
||
for maze in mazes:
|
||
subset = df[df['лабиринт'] == maze]
|
||
|
||
plt.figure(figsize=(8, 5))
|
||
plt.bar(subset['стратегия'], subset['посещено_клеток'])
|
||
|
||
plt.title(f'Посещённые клетки — {maze}')
|
||
plt.xlabel('Алгоритм')
|
||
plt.ylabel('Количество клеток')
|
||
|
||
plt.tight_layout()
|
||
plt.savefig(f'visited_{maze}.png')
|
||
plt.close()
|
||
|
||
# ===== ГРАФИК ДЛИНЫ ПУТИ =====
|
||
for maze in mazes:
|
||
subset = df[df['лабиринт'] == maze]
|
||
|
||
plt.figure(figsize=(8, 5))
|
||
plt.bar(subset['стратегия'], subset['длина_пути'])
|
||
|
||
plt.title(f'Длина пути — {maze}')
|
||
plt.xlabel('Алгоритм')
|
||
plt.ylabel('Длина пути')
|
||
|
||
plt.tight_layout()
|
||
plt.savefig(f'path_{maze}.png')
|
||
plt.close()
|
||
|
||
print('Графики успешно построены!') |