Source code for pyreason.scripts.utils.plotter

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns


[docs] def main(): sns.set() smooth = False # data_path_jit = f'/home/dyuman/Documents/Mancalog/profiling/profile_jit.csv' # data_path_old = f'/home/dyuman/Documents/Mancalog/profiling/profile_old.csv' # data_path_oldest = f'/home/dyuman/Documents/Mancalog/profiling/profile_oldest.csv' # data = f'/home/dyuman/Downloads/memory.csv' x_axis_title = 'Number of Nodes (density=4.10e-4)' y_axis_title = 'Runtime (s)' title = 'Number of Nodes vs Runtime' # headers = ['Timesteps', 'Memory', 'Memory Old'] # df_jit = pd.read_csv(data_path_jit, names=headers, header=None) # df_old = pd.read_csv(data_path_old, names=headers, header=None) # df_oldest = pd.read_csv(data_path_oldest, names=headers, header=None) # df = pd.read_csv(data, names=headers, header=None) # x_jit = df_jit['Timesteps'] # y_jit = df_jit['Time'] # x_old = df_old['Timesteps'] # y_old = df_old['Time'] # x_oldest = df_oldest['Timesteps'] # y_oldest = df_oldest['Time'] # x = df['Timesteps'] # y1 = df['Memory'] # y2 = df['Memory Old'] x = [1000, 2000, 5000, 10000] y2 = [0.35, 0.40, 1.35, 4.25] y5 = [0.43, 0.49, 1.76, 6.11] y15 = [0.40, 0.73, 3.09, 11.20] # if smooth: # y_jit = pd.Series(y_jit).rolling(15, min_periods=1).mean() # y_old = pd.Series(y_old).rolling(15, min_periods=1).mean() # y_oldest = pd.Series(y_oldest).rolling(15, min_periods=1).mean() # sns.relplot(data=df, x =x_axis_title, y=y_axis_title, kind = 'line', hue = 'type', palette = ['red', 'blue']) # ax = sns.relplot(data=df, kind = 'line', ci=0) # plt.plot(x_jit, y_jit, label='accelerated with numba for CPU') # plt.plot(x_old, y_old, label='first optimized version') # plt.plot(x_oldest, y_oldest, label='original version') plt.plot(x, y2, linestyle='dotted', marker='^', label='2 Timesteps') plt.plot(x, y5, linestyle='dotted', marker='s', label='5 Timesteps') plt.plot(x, y15, linestyle='dotted', marker='o', label='15 Timesteps') plt.legend() plt.title(title, fontsize=20) plt.xlabel(x_axis_title, fontsize=13) plt.ylabel(y_axis_title, fontsize=13) # ax = sns.lineplot(x=x, y=y, ci=95) # ax = sns.lineplot(x=x_jit, y=y_jit, label='') # ax = sns.lineplot(x=x, y=y, label='') # ax = sns.lineplot(x=x, y=y, label='') # ax.axes.set_title(title, fontsize=18) # ax.set_xlabel(x_axis_title, fontsize=13) # ax.set_ylabel(y_axis_title, fontsize=13) # plt.show() if smooth: plt.savefig(f'timesteps_vs_time_smooth.png') else: plt.savefig(f'timesteps_vs_memory.png')
if __name__ == '__main__': main()