извлечь данные из гистограммы в matplotlib - PullRequest
0 голосов
/ 13 января 2020

Я использую matplotlib для создания гистограмм, извлекая точки данных из текстовых файлов. Код следующий:

import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt

data1 = np.loadtxt('file1.txt')
data2 = np.loadtxt('file2.txt')
x = np.transpose(data1)[1]
y = np.transpose(data2)[1]

n, bins, patches = plt.hist(x, num_bins, facecolor='blue', alpha=0.5, label='electrons', 
edgecolor='black', linewidth=0.7, range=[0, 450])
n, bins, patches = plt.hist(y, num_bins, facecolor='magenta', alpha=0.5, label='pions', 
edgecolor='black', linewidth=0.7, range=[0, 450])

plt.show() 

Пока все прошло хорошо, и я создал гистограмму. Тем не менее, мой следующий шаг - использовать функцию clip (), чтобы я мог определить определенный диапазон для моих значений, которые будут отображаться, и выбросы отображаются в первый (значения, которые ниже минимального порога) и последний бин (значения которые выше максимального порога). Я изменил код на:

n, bins, patches = plt.hist(np.clip(x, 8, 400), num_bins, facecolor='blue', alpha=0.5, 
label='electrons', edgecolor='black', linewidth=0.7, range=[8, 400])
n, bins, patches = plt.hist(np.clip(y, 8, 400), num_bins, facecolor='magenta', alpha=0.5, 
label='pions', edgecolor='black', linewidth=0.7, range=[8, 400])

Графики также созданы здесь правильно. Теперь моя проблема: я хочу получить точки данных из этого вновь созданного графика, так как данные были изменены сейчас, и хочу записать эти точки данных в виде столбцов в текстовый файл. Как я могу это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...