in analysis/GreenSKU-Framework/src/derate_curve.py [0:0]
def fit_cubic(data_dict, plot=False):
x_data = [float(x) for x in data_dict]
y_data = [float(y) for y in data_dict.values()]
# check if data forms horizontal line - if so, return horizontal line
horizontal = check_horizontal(x_data, y_data)
if horizontal:
if plot:
x_fit = np.linspace(x_data[0], x_data[-1], 100)
y_fit = horizontal(x_fit)
plt.plot(x_data, y_data, 'o', label='data')
plt.plot(x_fit, y_fit, label='fit')
plt.legend()
plt.show()
return horizontal
return fit(cubic_func, x_data, y_data, plot)