2016-06-16 3 views
0

Я хочу построить гистограмму моего df с примерно 60 тысячами значений. После того, как я использовал plt.hist(x, bins = 30) он дал мне что-то вроде enter image description hereКак изменить диапазон осей, отображаемый на гистограмме

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

ответ

0

Проблема с гистограмм, кососимметричными столько на одно значение вы собираетесь существенно сгладить любые Выпадающие значения. Решением может быть просто представить данные двумя диаграммами.

Можете ли вы создать еще одну гистограмму, содержащую только значения, превышающие 20?

(псевдо-код, так как я не знаю структуру данных с вашего поста)

plt.hist(x[x.column > 20], bins = 30) 
0

Наконец, это может выглядеть как этот пример:

import matplotlib.pyplot as plt 
import numpy as np 

values1 = np.random.rand(1000,1)*100 
values2 = np.random.rand(100000,1)*5 
values3 = np.random.rand(10000,1)*20 

values = np.vstack((values1,values2,values3)) 

fig = plt.figure(figsize=(12,5)) 
ax1 = fig.add_subplot(121) 
ax1.hist(values,bins=30) 
ax1.set_yscale('log') 
ax1.set_title('with log scale') 

ax2 = fig.add_subplot(122) 
ax2.hist(values,bins=30) 
ax2.set_title('no log scale') 

fig.savefig('test.jpg') 

enter image description here

Смежные вопросы