62

積み上げヒストグラムを作成したいと思います。3 つの等しい長さのデータ セットで構成される 1 つの 2 次元配列がある場合、これは簡単です。以下のコードと画像:

import numpy as np
from matplotlib import pyplot as plt

# create 3 data sets with 1,000 samples
mu, sigma = 200, 25
x = mu + sigma*np.random.randn(1000,3)

#Stack the data
plt.figure()
n, bins, patches = plt.hist(x, 30, stacked=True, density = True)
plt.show()

ここに画像の説明を入力

ただし、長さの異なる 3 つのデータ セットで同様のコードを試すと、1 つのヒストグラムが別のヒストグラムを覆い隠してしまいます。混合長のデータ セットを使用して積み上げヒストグラムを作成する方法はありますか?

##Continued from above
###Now as three separate arrays
x1 = mu + sigma*np.random.randn(990,1)
x2 = mu + sigma*np.random.randn(980,1)
x3 = mu + sigma*np.random.randn(1000,1)

#Stack the data
plt.figure()
plt.hist(x1, bins, stacked=True, density = True)
plt.hist(x2, bins, stacked=True, density = True)
plt.hist(x3, bins, stacked=True, density = True)
plt.show()

ここに画像の説明を入力

4

2 に答える 2