Кажется, будто Спайдер (python) просто игнорирует мой график. Вот мой полный код:
import numpy as np
import matplotlib.pyplot as plt
import pylab
from scipy.signal import find_peaks, peak_widths
from scipy.optimize import curve_fit
import math
metadata = dict()
with open('practice_data_py18eg(hard).dat', 'r') as data:
for lineno,line in enumerate(data):
if '=' in line:
parts = line.strip().split('=')
try:
metadata[parts[0]]=float(parts[1])
except TypeError:
pass
except ValueError:
pass
elif '&END' in line:
break
data = np.genfromtxt('practice_data_py18eg(hard).dat','float',skip_header=lineno+3)
Intensity = data[:,1]
TwoTheta = data[:,0]
plt.plot(TwoTheta, Intensity, 'x',)
plt.ylim(1)
plt.yscale('log')
plt.xlabel("Angle (degrees)")
plt.ylabel("log(Intensity)")
peaks, _ = find_peaks(Intensity, height=100)
plt.plot(TwoTheta[peaks], Intensity[peaks], "ro")
print(peaks)
tp_0 = TwoTheta[peaks[0]]
background = []
for val in TwoTheta:
while val<tp_0:
if (tp_0 - val)>2:
background.append(val)
print(background)
plt.show()
Spyder просто возвращает это:
[199 247 400 494 523 634]
, что является просто показателями моих пиков на графике.
Когда это началось, в консоли появилось сообщение о снятии отметки с опции «Без звука», что я и сделал, однако ничего не изменилось.
Кроме того, я просто попытался отредактировать мой код внизу, добавив: print ('hello'), и когда я попытался запустить это, ничего не произошло.
Помощь с благодарностью