python绘制线链接错误点

您可以看到matplotlib使用plt.plot链接了一些错误的点。 data file 如何改善曲线? 我可以给他两点之间的最小间隔吗? 对我的分数进行排序会帮助我获得良好的曲线吗? 我可以对x轴点进行排序,但y轴似乎更复杂。

谢谢。

import numpy as np
from matplotlib import pyplot as plt

File = "crown" + str(0) + str(0.01)
data = np.loadtxt(File)
data = data.reshape((len(data),3))
print(data)
R0 = 10.

theta = np.arctan2(data[:,1],data[:,0]) #calcul of theta
print(theta)
Radius = np.sqrt(data[:,1]**2 + data[:,0]**2)

Mradius = Radius - np.mean(Radius)
Mradius = Mradius/R0
n = len(theta) # length
Radiushat = np.fft.fft(Mradius,n) #fft of the Radius
PSD = Radiushat * np.conj(Radiushat)/n #Power spectral density
delta = 0.0001

k = (1/(delta*n)) * np.arange(n) #wavenumber
indice = np.where(PSD==np.max(PSD)) #find position indice max PSD array
#print(k[indice][0]) #k_{max}
L = np.arange(1,np.floor(n/2),dtype='int')

# filtered the signal
"""
indices = PSD > np.max(PSD)/3. 
PDSclean = PSD * indices
Radiushatclean = indices * Radiushat
ffilt = np.fft.ifft(Radiushatclean)"""

fig,axs = plt.subplots(2,1)
plt.sca(axs[0])
plt.plot(theta,Radius,label="Crown")
ticks = [-np.pi,-np.pi/2.,np.pi/2.,np.pi]
ticks_labels = ['-π','-π/2','0','π/2','π']
plt.xticks(ticks,ticks_labels)
"""plt.plot(theta,ffilt,label="Filtered")"""
plt.xlabel("theta")
plt.ylabel("R/R(t=0)")
plt.legend()
plt.title('k_{max}=%.2f' % (k[indice][0]))

plt.sca(axs[1])
plt.plot(k[L],PSD[L]/np.max(PSD))
plt.xlim(0,k[L[-1]])
plt.xlabel("k")
plt.ylabel("PSD")

fig.tight_layout()
plt.show()

python绘制线链接错误点

iCMS 回答:python绘制线链接错误点

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1974286.html

大家都在问