Эй, у меня есть набор значений для частоты и спектра мощности, и я должен построить график зависимости спектра мощности от частоты в логарифмическом масштабе.После того, как я это сделаю, мне нужно пропустить через нее прямую линию, которая лучше всего подходит ... Я получаю линию в линейном масштабе ... но когда я пытаюсь наложить ее на график спектра частоты, результирующий график не показывает никакой линии,вместо этого точки данных 1-го графика просто смещены в пространстве.Кроме того, та же самая линия, если она построена в масштабе журнала с использованием функции журнала, не отображается.
Может кто-нибудь сказать мне, что я должен сделать, чтобы получить линию в масштабе журнала?
У меня есть файл, имеющий три столбца;Частота, мощностьСигнал питания .. Вот часть того, что я написал для построения графика и данных ..
#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)