LoginSignup
ryota0000
@ryota0000

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

箱ひげ図の最小値、最大値について

Q&AClosed

Python初心者です。
箱ひげ図を作りたいのですが、最小値、最大値が表示されません。

コード

x = np.array(hakohigezu)
plt.title('height')
plt.grid()

plt.boxplot(x)
plt.show()

hakohigezu(要素)

[300, 25, 300, 25, 25, 75, 25, 75, 300, 300, 300, 25, 75, 25, 75, 300, 750, 25, 300, 300, 25, 300, 1000, 75, 1000, 300, 300, 25, 750, 300, 75, 300, 300, 25, 25, 75, 300, 25, 300, 75, 25, 300, 75, 300, 750, 25, 750, 75, 25, 75, 75, 300, 300, 750, 75, 300, 75, 25, 1000, 300, 25, 300, 75, 25, 75, 750, 300, 300, 25, 300, 1000, 750, 75, 300, 25, 300, 75, 75, 25, 25, 300, 25, 300, 25, 300, 1000, 750, 25, 300, 75, 750, 300, 25, 300, 25, 300, 75, 75, 300, 300, 75, 25, 300, 25, 300, 300, 750, 300, 300, 750, 25, 300, 25, 750, 25, 25, 25, 300, 1000, 25, 750, 300, 25, 25, 75, 75, 1000, 750, 25, 25, 75, 25, 750, 75, 25, 25, 300, 750, 300, 300, 75, 25, 75, 25, 75, 25, 1000, 75, 300, 25, 75, 75, 1000, 25, 300, 300, 25, 300, 300, 300, 300, 300, 300, 75, 300, 300, 300, 300, 300, 25, 300, 300, 300, 300, 750, 300, 750, 25, 75, 300, 300, 750, 300, 25, 75, 300, 300, 300, 75, 75, 300, 25, 300, 300, 1000, 25, 75, 300, 300, 25, 75, 300]

最小値25,最大値1000です。
画像のように表示されてしまいます。

どうすればよいでしょうか。
回答よろしくお願いします。
箱ひげ図.PNG

0

2Answer

データに該当する要素が存在しないために表示されないのだと思います。
例えば以下のように、適切にはみ出したデータ(末尾の, 1, 400)を加えれば表示されます。
7501000は突出しすぎていて「⚬」で表されているようですね。

import numpy as np
import matplotlib.pyplot as plt

hakohigezu = [300, 25, 300, 25, 25, 75, 25, 75, 300, 300, 300, 25, 75, 25, 75, 300, 750, 25, 300, 300, 25, 300, 1000, 75, 1000, 300, 300, 25, 750, 300, 75, 300, 300, 25, 25, 75, 300, 25, 300, 75, 25, 300, 75, 300, 750, 25, 750, 75, 25, 75, 75, 300, 300, 750, 75, 300, 75, 25, 1000, 300, 25, 300, 75, 25, 75, 750, 300, 300, 25, 300, 1000, 750, 75, 300, 25, 300, 75, 75, 25, 25, 300, 25, 300, 25, 300, 1000, 750, 25, 300, 75, 750, 300, 25, 300, 25, 300, 75, 75, 300, 300, 75, 25, 300, 25, 300, 300, 750, 300, 300, 750, 25, 300, 25, 750, 25, 25, 25, 300, 1000, 25, 750, 300, 25, 25, 75, 75, 1000, 750, 25, 25, 75, 25, 750, 75, 25, 25, 300, 750, 300, 300, 75, 25, 75, 25, 75, 25, 1000, 75, 300, 25, 75, 75, 1000, 25, 300, 300, 25, 300, 300, 300, 300, 300, 300, 75, 300, 300, 300, 300, 300, 25, 300, 300, 300, 300, 750, 300, 750, 25, 75, 300, 300, 750, 300, 25, 75, 300, 300, 300, 75, 75, 300, 25, 300, 300, 1000, 25, 75, 300, 300, 25, 75, 300, 1, 400]
x = np.array(hakohigezu)
plt.title('height')
plt.grid()
plt.boxplot(x)
plt.show()

hige.png

0

Comments

  1. @ryota0000

    Questioner
    ありがとうございました。

今回のデータからはそのように表示されるようです。
箱ひげ図に記載される値を求めると分かりやすいと思います。
最小値は25パーセンタイルと同値、また、最大値も50,75パーセンタイルと同値となっております。なお、750と1000は外れ値として除外されています。

25パーセンタイル 25.0
50パーセンタイル 300.0
75パーセンタイル 300.0
max : 1000
min : 25

ソースコード
import numpy as np
hakohigezu = [300, 25, 300, 25, 25, 75, 25, 75, 300, 300, 300, 25, 75, 25, 75, 300, 750, 25, 300, 300, 25, 300, 1000, 75, 1000, 300, 300, 25, 750, 300, 75, 300, 300, 25, 25, 75, 300, 25, 300, 75, 25, 300, 75, 300, 750, 25, 750, 75, 25, 75, 75, 300, 300, 750, 75, 300, 75, 25, 1000, 300, 25, 300, 75, 25, 75, 750, 300, 300, 25, 300, 1000, 750, 75, 300, 25, 300, 75, 75, 25, 25, 300, 25, 300, 25, 300, 1000, 750, 25, 300, 75, 750, 300, 25, 300, 25, 300, 75, 75, 300, 300, 75, 25, 300, 25, 300, 300, 750, 300, 300, 750, 25, 300, 25, 750, 25, 25, 25, 300, 1000, 25, 750, 300, 25, 25, 75, 75, 1000, 750, 25, 25, 75, 25, 750, 75, 25, 25, 300, 750, 300, 300, 75, 25, 75, 25, 75, 25, 1000, 75, 300, 25, 75, 75, 1000, 25, 300, 300, 25, 300, 300, 300, 300, 300, 300, 75, 300, 300, 300, 300, 300, 25, 300, 300, 300, 300, 750, 300, 750, 25, 75, 300, 300, 750, 300, 25, 75, 300, 300, 300, 75, 75, 300, 25, 300, 300, 1000, 25, 75, 300, 300, 25, 75, 300]
x = np.array(hakohigezu)
plt.grid()

plt.boxplot(x, sym="+")
plt.show()

plt.hist(x, bins=100)
plt.show()

print("25パーセンタイル", np.percentile(x, 25))
print("50パーセンタイル", np.percentile(x, 50))
print("75パーセンタイル", np.percentile(x, 75))
print("max : ", max(x))
print("min : ", min(x))

この方の記事が参考になりますよ。
https://qiita.com/Kenta-Han/items/b074b499114f38d6de3e

hako.png

0

Comments

  1. @ryota0000

    Questioner
    ありがとうございました。

Your answer might help someone💌