Чтобы найти наклон кривой, вы можете использовать numpy .polyfit ()
Если вы хотите, чтобы линия соответствовала первой части вашего графика напряжения / деформации, я предлагаю вам нужно сделать что-то вроде этого:
z = np.polyfit(S_S['Strain'][0:5], S_S['Stress'][0:5], 1)
Если вы хотите построить эту линию, вы можете сделать следующее
x= Strain_Al
plt.plot(z[0]*x+z[1],'--')
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.style.use('seaborn-bright')
print(plt.style.available)
print("NumPy version:", np.__version__)
print("Pandas version:", pd.__version__)
S_S = pd.read_excel("SSCurve.xls")
print(S_S.head())
Stress_Al = S_S['STRESS']
Strain_Al = S_S['STRAIN']
z = np.polyfit(S_S['Strain'][0:5], S_S['Stress'][0:5], 1)
z[1] = -1
plt.scatter(Strain_Al, Stress_Al)
plt.plot(Strain_Al, Stress_Al)
plt.xlabel('Strain')
plt.ylabel('Stress (MPa)')
plt.title('Engineering Stress Vs Engineering Strain')
plt.ylim(0,7)
x= Strain_Al
plt.plot(z[0]*x+z[1],'--')
plt.tight_layout()
plt.show()
Пожалуйста, go по этой ссылке для полной Jupyter Notebook