2016-04-05 1 views
1

я сравниваю несколько гистограммы вместе, чтобы оценить дисперсию на протяжении многих лет:Matplotlib и Визуализация данных: сравнение перекрывающихся гистограмм

enter image description here

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

ответ

0

Эти бары на самом деле не сложены, а перекрываются. Вы можете складывать их, выполнив:

import matplotlib.pyplot as plt 
import numpy as np 

mu, sigma = 0,100 
x1 = mu + sigma*np.random.randn(1000) 
x2 = mu + sigma*np.random.randn(1000) 
x3 = mu + sigma*np.random.randn(1000) 

#Stack the data 
plt.figure() 
plt.hist([x1,x2,x3], bins=30, stacked=True, normed = True) 
plt.show() 

, что приведет к следующим образом:

Stacked histogram

Однако воспринимать квантиль изменчивость различных распределений boxplot, как правило, более адекватным:

plt.boxplot([x1,x2,x3]) 
plt.show() 

, результаты:

boxplot for different distributions

Вы также можете заглянуть на участки, такие как Probability Plot, или StackPlot. Если вам действительно нужно сравнить значение дисперсии (а не только распределение по всему миру), вы можете построить линии для отклонения (или стандартного отклонения, если порядок величины большой) по вашим графикам.

+0

Моя ошибка. Я ошибочно использовал 'stack'. Это должно быть «совпадение». «Boxplot» потеряет форму гистограммы, которая, на мой взгляд, действительно важна. – cqcn1991

+0

Чем пользоваться скрипичным сюжетом (http://matplotlib.org/examples/statistics/violinplot_demo.html). Какие функции вы пытаетесь сравнить (дисперсия - это просто число)? – armatita

+0

Нет, нет, нет. Мне не нужно сравнивать этот specfic здесь, например. дисперсии и т. д. Я просто хочу сравнить гистограмму. Проблема в том, что перекрытие затрудняет их рассмотрение. Полупрозрачная настройка ('alpha') затрудняет распознавание одного из другого. – cqcn1991

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

  • Нет связанных вопросов^_^