import numpy as np import matplotlib.pyplot as plt import scipy from notebooks.lib import read_load def linear(x, a, b): return x * a + b alpha = read_load("../data/alpha") meaned_by_N = alpha.groupby('N').agg({'fd': ['mean', 'std']}) \ .reset_index() \ .replace([np.inf, -np.inf], np.nan) without_prefix = alpha[alpha.N > 50] p, pcov = scipy.optimize.curve_fit(linear, np.log(without_prefix.cr), np.log(without_prefix.N)) linear_extent = np.linspace(0, np.max(np.log(alpha.cr))) plt.scatter(np.log(alpha.cr), np.log(alpha.N), s=1, marker='.', color="tab:blue") plt.plot(linear_extent, linear(linear_extent, *p), color="tab:red") plt.xlabel("$\\log r_{max}$") plt.ylabel("$\\log N$") plt.savefig('../figures/rmax-n.svg') plt.savefig('../figures/rmax-n.png') plt.show()