【发布时间】:2020-09-30 13:27:52
【问题描述】:
我试图比较两条绘制的线。我首先加载两个数据文件并分配 x 和 y,然后尝试将 x 轴上的点对齐。但是,弹出一个错误:
Traceback(最近一次调用最后一次): 文件“/Users/renzha/Documents/compare twolines.py”,第 33 行,在
xnew = data1[:,0] ( min(x), max(x), num = points)TypeError: 'numpy.ndarray' 对象不可调用
原代码为:
import numpy as np
from scipy.interpolate import interp1d
import matplotlib.pyplot as plt
import scipy.spatial.distance as ssd
import scipy.stats as ss
data1 = np.loadtxt(filedialog.askopenfilename(), delimiter='\t')
data2 = np.loadtxt(filedialog.askopenfilename(), delimiter='\t')
x = data1[:,0]
y = data1[:,1]
x2 = data2[:,0]
y2 = data2[:,1]
f = interp1d(x, y)
f2 = interp1d(x2,y2)
points = 150
xnew = data1[:,0] ( min(x), max(x), num = points)
xnew2 = data2[:,0] ( min(x2), max(x2), num = points)
ynew = f(xnew)
ynew2 = f2(xnew2)
plt.plot(x,y, 'r', x2, y2, 'g', xnew, ynew, 'r--', xnew2, ynew2, 'g--')
plt.show()
print (ssd.correlation(ynew, ynew2))
print (np.correlate(ynew, ynew2, mode='valid'))
print (np.corrcoef(ynew, ynew2))
print (ss.spearmanr(ynew, ynew2))
【问题讨论】:
标签: python numpy similarity