学习笔记----python绘图loglog
2020-06-20 本文已影响0人
三叠纪的小黑猫
# python 绘制双对数坐标曲线图并进行线性拟合
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import optimize
# read the data
data = pd.read_excel("input.xlsx")
x = data['Offset']
y = data['Amplitude']
# fit function
def f(X, A, B):
return A*X+B
A,B = optimize.curve_fit(f, x, y)[0]
print(A)
print(B)
xx = np.arange(47, 28010, 10)
yy = A*xx+B
ss = 'y=' + str(A) + '*' + 'x' + '+' + str(B)
# draw picture
plt.scatter(x,y,s=100)
plt.loglog(x,y,label='raw data',linestyle='--',color='r',linewidth=2)
plt.plot(xx,yy,label='linear fitting',color='g',linewidth=2)
plt.title(ss,fontsize=14)
plt.xlabel("offset",fontsize=14)
plt.ylabel("Amplitude",fontsize=14)
plt.tick_params(axis='both',labelsize=10)
plt.legend(loc='best')
plt.show()