嘿,我有一组频率和功率谱值,我必须在对数刻度上绘制功率谱与频率。完成后,我需要通过它通过最适合的直线。我得到线性比例的线。但是当我尝试将它叠加到频率功率谱图上时,结果图没有显示任何线,相反,第一个图的数据点只是在空间上移动。此外,如果使用 loglog 函数在对数刻度上绘制同一行,则不会显示。
有人能告诉我我应该怎么做才能得到对数刻度线吗?
所以我有一个包含三列的文件;频率,功率规格。电源信号..这是我为绘制数据和线而写的一段..
#initialize all variables to 0
#open the data file
while 1:
ln = datafile.readline()
if ln:
data = ln.split()
x = float(n)
y = float(data[0])
z = float(data[1])
xval.append(float(n))
yval.append(y)
zval.append(z)
n += 1
sum_z += z
sum_y += y
sum_y_squared += y*y
sum_yz += y*z
else:
break
datafile.close()
# calculate slope and intercept using formulae
for num in xval:
res = intercept + slope*num
line.append(res)
#Plot data
pylab.figure(0)
matplotlib.pylab.loglog(yval,zval)
#Plot line
pylab.figure(0)
pylab.plotloglog(line)