forked from UNN/2026-rff_mp
[1] create bar charts for experiment results
This commit is contained in:
parent
164bcbb260
commit
f387b9020b
35
KislyuninED/docks/data/1-st-exercize/plot_results.py
Normal file
35
KislyuninED/docks/data/1-st-exercize/plot_results.py
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
import pandas as pd
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
df = pd.read_csv('results.csv')
|
||||||
|
mean_df = df.groupby(['Structure','Mode','Operation'])['Time_sec'].mean().reset_index()
|
||||||
|
|
||||||
|
fig, axes = plt.subplots(1, 3, figsize=(14,5))
|
||||||
|
operations = ['insert','find','delete']
|
||||||
|
titles = ['Insertion', 'Search', 'Deletion']
|
||||||
|
|
||||||
|
for ax, op, title in zip(axes, operations, titles):
|
||||||
|
subset = mean_df[mean_df['Operation'] == op]
|
||||||
|
structures = subset['Structure'].unique()
|
||||||
|
x = np.arange(len(structures))
|
||||||
|
width = 0.35
|
||||||
|
random_vals = []
|
||||||
|
sorted_vals = []
|
||||||
|
for s in structures:
|
||||||
|
r = subset[(subset['Structure']==s) & (subset['Mode']=='random')]['Time_sec'].values
|
||||||
|
s_vals = subset[(subset['Structure']==s) & (subset['Mode']=='sorted')]['Time_sec'].values
|
||||||
|
random_vals.append(r[0] if len(r) else 0)
|
||||||
|
sorted_vals.append(s_vals[0] if len(s_vals) else 0)
|
||||||
|
ax.bar(x - width/2, random_vals, width, label='random')
|
||||||
|
ax.bar(x + width/2, sorted_vals, width, label='sorted')
|
||||||
|
ax.set_xticks(x)
|
||||||
|
ax.set_xticklabels(structures)
|
||||||
|
ax.set_ylabel('Time (seconds)')
|
||||||
|
ax.set_title(title)
|
||||||
|
ax.legend()
|
||||||
|
|
||||||
|
plt.tight_layout()
|
||||||
|
plt.savefig('performance.png', dpi=150)
|
||||||
|
plt.show()
|
||||||
|
print("График сохранён (performance.png)")
|
||||||
Loading…
Reference in New Issue
Block a user