Есть ли какой-либо способ перенести данные, которые выходят за пределы ячейки гистограммы, в самые внешние ячейки?

#python #histogram #data-analysis

Вопрос:

Я не очень хорошо разбираюсь в программировании и занимаюсь анализом данных для лаборатории. Я пытаюсь создать гистограмму на Python с заданным количеством ячеек, каждая из которых имеет одинаковую ширину, которая теоретически должна охватывать все данные. Но, как правило, существует около 10 точек данных, которые не попадают в гистограмму. Есть ли какой-либо способ поместить эти точки данных в крайние ячейки в зависимости от того, меньше они или больше общей ширины гистограммы?

Я приношу извинения, если этот вопрос слишком прост или на него был дан ответ в другом месте, но мне, вероятно, не хватает словарного запаса, чтобы самому найти ответ.

Вот код, о котором идет речь. Я думаю, что в нем используется специальный инструментарий, созданный моим университетом, но я считаю, что он, тем не менее, понятен:

 #sort out N by histogram binwidth = 2.5*sig_Q low_center = min(Q_exp)   binwidth def set_range(first_bin = low_center, bin_width = binwidth, Nbins = 10):  """  helper function to set the range and bin width  input : first_bin = bin_center of the first bin, bin_width = the bin width, Nbins = total number of bins  returns: a tuple that you can use in the range key word when defining a histogram.  NOTE: for the histogram use the same number of bins:   example: h = histo( r, range = set_range(-5., 1, 11), bins = 11)   this created a histogram where the first bin is centered at -5. , the next at -4. etc. a total of 11 bins are  created and the bin center of the last one is at 5. = first_bin   (Nbins-1)*bin_width  """  rmin = first_bin - bin_width/2.  rmax = rmin   Nbins*bin_width  return (rmin,rmax)   h = B.histo(Q_exp, range = set_range(low_center, bin_width = binwidth, Nbins = 10), bins = 10) hx = h.bin_center hy = h.bin_content B.pl.ylabel("Counts", fontsize = 20) B.pl.xlabel("Gaussian Deviates", fontsize = 20) B.pl.title("Monte Carlo Millikan Oil-Drop Simulation", fontsize = 22) h.plot() B.pl.show()  

Лучшие,

Ответ №1:

Я, наконец, понял это. Ширина моего ящика была просто слишком мала. Как только я удлинил их и уменьшил «low_center», мои данные вышли хорошими.