|
|
@@ -0,0 +1,86 @@ |
|
|
|
#!/usr/bin/env python3 |
|
|
|
# -*- coding: utf-8 -*- |
|
|
|
""" |
|
|
|
Draw running time. |
|
|
|
Created on Mon Sep 24 17:37:26 2018 |
|
|
|
|
|
|
|
@author: ljia |
|
|
|
""" |
|
|
|
|
|
|
|
import numpy as np |
|
|
|
import matplotlib.pyplot as plt |
|
|
|
|
|
|
|
N = 7 |
|
|
|
tgm1 = np.array([0.73, |
|
|
|
0.88, |
|
|
|
1.65, |
|
|
|
1.97, |
|
|
|
4.89, |
|
|
|
36.98, |
|
|
|
704.54]) |
|
|
|
tgm2 = np.array([0.77, |
|
|
|
1.22, |
|
|
|
2.95, |
|
|
|
5.70, |
|
|
|
20.29, |
|
|
|
147.09, |
|
|
|
3477.65]) |
|
|
|
tms1 = np.array([2.68, |
|
|
|
3.41, |
|
|
|
3.36, |
|
|
|
237.00, |
|
|
|
7.58, |
|
|
|
255.48, |
|
|
|
717.35]) |
|
|
|
tms2 = np.array([3.93, |
|
|
|
4.96, |
|
|
|
5.84, |
|
|
|
833.06, |
|
|
|
26.62, |
|
|
|
807.84, |
|
|
|
3515.72]) |
|
|
|
|
|
|
|
fig, ax = plt.subplots(1, 1, figsize=(10.5, 4.2)) |
|
|
|
|
|
|
|
ind = np.arange(N) # the x locations for the groups |
|
|
|
width = 0.23 # the width of the bars: can also be len(x) sequence |
|
|
|
|
|
|
|
p1 = ax.bar(ind - width * 0.03, tgm1, width, label='compute Gram matrix on $CRIANN$ ($t_1$)', zorder=3) |
|
|
|
p2 = ax.bar(ind - width * 0.03, tms1 - tgm1, width, bottom=tgm1, label='model selection on $CRIANN$', zorder=3) |
|
|
|
p3 = ax.bar(ind + width * 1.03, tgm2, width, label='compute Gram matrix on $laptop$ ($t_2$)', zorder=3) |
|
|
|
p4 = ax.bar(ind + width * 1.03, tms2 - tgm2, width, bottom=tgm2, label='model selection on $laptop$', zorder=3) |
|
|
|
|
|
|
|
ax.set_yscale('log', nonposy='clip') |
|
|
|
ax.set_xlabel('datasets') |
|
|
|
ax.set_ylabel('runtime($s$)') |
|
|
|
#ax.set_title('Runtime of the shortest path kernel on all datasets') |
|
|
|
plt.xticks(ind + width / 2, ('Alkane', 'Acyclic', 'MAO', 'PAH', 'MUTAG', |
|
|
|
'Letter-med', 'ENZYMES')) |
|
|
|
#ax.set_yticks(np.logspace(-16, -3, num=20, base=10)) |
|
|
|
#ax.set_ylim(bottom=1e-15) |
|
|
|
ax.grid(axis='y', zorder=0) |
|
|
|
ax.spines['top'].set_visible(False) |
|
|
|
ax.spines['bottom'].set_visible(False) |
|
|
|
ax.spines['left'].set_visible(False) |
|
|
|
ax.spines['right'].set_visible(False) |
|
|
|
ax.xaxis.set_ticks_position('none') |
|
|
|
|
|
|
|
ax2 = ax.twinx() |
|
|
|
p5 = ax2.plot(ind + width / 2, tgm2 / tgm1, 'bo-', |
|
|
|
label='$t_2 / $ $t_1$') |
|
|
|
ax2.set_ylabel('ratios') |
|
|
|
ax2.spines['top'].set_visible(False) |
|
|
|
ax2.spines['bottom'].set_visible(False) |
|
|
|
ax2.spines['left'].set_visible(False) |
|
|
|
ax2.spines['right'].set_visible(False) |
|
|
|
ax2.xaxis.set_ticks_position('none') |
|
|
|
ax2.yaxis.set_ticks_position('none' |
|
|
|
) |
|
|
|
ax.yaxis.set_ticks_position('none') |
|
|
|
|
|
|
|
fig.subplots_adjust(right=0.63) |
|
|
|
fig.legend(loc='right', ncol=1, frameon=False) # , ncol=5, labelspacing=0.1, handletextpad=0.4, columnspacing=0.6) |
|
|
|
|
|
|
|
plt.savefig('../check_gm/parallel_runtime_on_different_machines.eps', format='eps', dpi=300, |
|
|
|
transparent=True, bbox_inches='tight') |
|
|
|
plt.show() |