Как построить вероятностную гистограмму в matplotlib? - PullRequest
0 голосов
/ 06 октября 2019

У меня есть данные размеров пор (в микрометрах ^ 2), которые присутствуют в микроструктуре материала. Всего у меня 942 поры. Я использовал SciPy для загрузки данных. Если я строю гистограмму с бинами, которые я создал вручную, я получаю гистограмму следующим образом:

введите описание изображения здесь

Можно видеть, что поры размером примерно 250 микрометров ^ 2 имеют самую высокую частоту и, следовательно, самую высокую вероятность присутствия в микроструктуре.

Может кто-нибудь сказать мне, как получить гистограмму вероятности из этого, потому что мне нужно использовать функцию распределения Вейбулла и подогнать кривую к гистограмме.

Я пытался добавить «плотность = True» в моемкод, но затем я получаю это:

введите описание изображения здесь

Вот мой код:

import matplotlib.pyplot as plt
import scipy as sci

file1 = 'data_histogram.csv'
file2 = 'data_histogram_1.csv'

data_hist = sci.loadtxt(file1, delimiter=',')
data_hist_1 = sci.loadtxt(file2, delimiter=',')

bins = data_hist[:,0]
data_pores = data_hist_1[:]

plt.rcParams['font.family'] = 'Times New Roman'

fig1 = plt.figure(1, figsize=(9,8))
ax1 = fig1.add_subplot(1,1,1)

ax1.set_xlabel('Pore size', fontsize=14)
ax1.set_ylabel('Freqeuncy', fontsize=14)
ax1.tick_params(direction='out', size=9, width='1.3', labelsize=14)
ax1.hist(data_pores,bins=bins, density=True)

plt.savefig('figure_example1.jpg')
plt.show()enter code here
...