如何解决Python matplotlib,消除线图中的空白,其中数据仅存在于 xaxis 的部分
我有一个问题,我根据波数绘制幅度量,相关波数的范围在 950 - 1300 cm(^-1) 之间。但是,在整个波数范围内只有幅度数据点,即 950-1000、1050-1100、1200-1300 等。当我使用 matplotlib 绘制它时,我在图中得到了很大的差距(在我插入了“NAN”之后' 在数据间隙之间避免不必要的外推)。我不知道如何消除这些差距,我想看到一个恒定的线图,xaxis 考虑到值之间的跳跃。我的代码如下,以及情节的一个例子。此外,xaxis 标签似乎重叠,我也想避免这种情况。
def plot_radiances(self,index=0):
# method to plot radiances,and residuals and jacobians
wavelength = self.mask_data(self.general_radiance.FREQUENCY.values[:],-999,xarray=False)
observed_radiance = self.mask_data(self.general_radiance.RADIANCEOBSERVED.values[:],xarray=False)
fit_radiance = self.mask_data(self.general_radiance.RADIANCEFIT.values[:],xarray=False)
nesR = self.mask_data(self.general_radiance.nesR.values[:],xarray=False)
quality = np.where(self.general_radiance.QUALITY.values[:] > 0)
wavelength = (wavelength[quality,:][0])
cwavelength = wavelength
observed_radiance = observed_radiance[quality,:][0]
fit_radiance = fit_radiance[quality,:][0]
nesR = nesR[quality,:][0]
dpi = 96.
length = len(quality)
nanind = []
for i,ii in enumerate(wavelength[index,:]):
if float(ii)-float(wavelength[index,i-1]) > 1.0:
nanind.append(i)
wavelength = np.insert(wavelength,nanind,np.nan,axis=1)
observed_radiance = np.insert(observed_radiance,axis=1)
print(wavelength[index,:])
fig = figure(figsize=(800 / dpi,600 / dpi),dpi=dpi)
ax = axes()
ax.plot(wavelength[index,:],observed_radiance[index,:])
ax.set_xticks(wavelength[index,:][::12])
ax.set_xticklabels([str(i) for i in wavelength[index,:]][::12])
return []
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。