使用Python的配置文件直方图(错误:“ FutureWarning:...”

时间:2018-11-15 21:27:12

标签: python numpy matplotlib scipy histogram

对此已经提出了类似的问题:Plotting profile histograms in python。但由于某些原因,它永远不会对我有用。

让我们看看我的代码

 from pylab import *
 import numpy as np
 import matplotlib.pyplot as plt
 import seaborn as sns
 import scipy


 file = open('cesium.txt','r')
 count = 0
 energy_channel = []
 intensity_counts = []
 for line in file.readlines():
     count += 1
     if count >= 10:
         row = line.split()
         int_1 = int(row[0])
         int_2 = int(row[-1])
         energy_channel.append(int_1)
         intensity_counts.append(int_2)
     if count == 2700: break


 plt.plot(energy_channel, intensity_counts, 'k.')
 plt.xlabel('Energy (keV)')
 plt.ylabel('Counts')
 plt.xticks([0, 400, 800, 1200, 1600, 2000, 2400],
            [0, 110, 220, 330, 440, 550, 662])
 plt.show()
 plt.clf()

这将为放射性同位素Cs-137(对于那些被诱捕的人)绘制一个所谓的伽马光谱。现在,我想根据此频谱制作轮廓直方图。由于我将所有点分别存储在两个向量(x-和y-)energy_channel和强度_计数中,因此我认为这样可能有效:

scipy.stats.binned_statistic(energy_channel,intensity_counts)

但这只是给我一条错误消息:

 FutureWarning:
 Using a non-tuple sequence for multidimensional indexing is deprecated;
 use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be
 interpreted as an array index, `arr[np.array(seq)]`, which will result
 either in an error or a different result.

我希望我在这里的问题很清楚。我想像在我所链接的线程中那样创建一个轮廓直方图,但是它似乎无法正常运行,而且我无法弄清楚。

编辑:我尝试使用zip()函数将列表变成一个元组列表,然后将其提供给binned_statistics()函数,但是出现相同的错误消息。我还尝试将列表分成序列,但似乎也不起作用。

0 个答案:

没有答案