matplotlib
ボックスプロット
サーチ…
Boxplot関数
matplotlibのは、独自の実装がある箱ひげ図を 。この関数の関連する側面は、デフォルトでboxplotが中央値(百分位数50%)を赤い線で表示していることです。ボックスはQ1とQ3(パーセンタイル25と75)を表し、ウィスカーはデータの範囲を示します(Q1 - 1.5 IQR、Q3 + 1.5 IQR、IQRは四分位範囲ですが、確認が不足します)。また、この範囲を超えるサンプルはマーカーとして表示されます(これらはチラシです)。
注: boxplotのすべての実装が同じルールに従うわけではありません。おそらく、最も一般的なboxplotダイアグラムでは、ひげを使って最小値と最大値を表現しています(存在しない)。また、このプロットはボックスアンドウィスカープロット 、 ボックスアンドウィスカー ダイアグラム とも呼ばれます 。
次のレシピは、現在のmatplotlibのboxplotの実装でできることを示しています。
import matplotlib.pyplot as plt
import numpy as np
X1 = np.random.normal(0, 1, 500)
X2 = np.random.normal(0.3, 1, 500)
# The most simple boxplot
plt.boxplot(X1)
plt.show()
# Changing some of its features
plt.boxplot(X1, notch=True, sym="o") # Use sym="" to shown no fliers; also showfliers=False
plt.show()
# Showing multiple boxplots on the same window
plt.boxplot((X1, X2), notch=True, sym="o", labels=["Set 1", "Set 2"])
plt.show()
# Hidding features of the boxplot
plt.boxplot(X2, notch=False, showfliers=False, showbox=False, showcaps=False, positions=[4], labels=["Set 2"])
plt.show()
# Advanced customization of the boxplot
line_props = dict(color="r", alpha=0.3)
bbox_props = dict(color="g", alpha=0.9, linestyle="dashdot")
flier_props = dict(marker="o", markersize=17)
plt.boxplot(X1, notch=True, whiskerprops=line_props, boxprops=bbox_props, flierprops=flier_props)
plt.show()
これにより、次のプロットが得られます。
- デフォルトのmatplotlib boxplot
- 関数の引数を使ってboxplotのいくつかの機能を変更する
- 同じプロットウィンドウ内の複数のボックスプロット
- ボックスプロットのいくつかの特徴を隠す
- 小道具を使ったボックスプロットの高度なカスタマイズ
あなたの箱ひげ図のいくつかの高度なカスタマイズを行うつもりならば、あなたはそれを知っておくべき小道具は、あなたが(たとえば)構築の辞書:
line_props = dict(color="r", alpha=0.3)
bbox_props = dict(color="g", alpha=0.9, linestyle="dashdot")
flier_props = dict(marker="o", markersize=17)
plt.boxplot(X1, notch=True, whiskerprops=line_props, boxprops=bbox_props, flierprops=flier_props)
plt.show()
...ほとんどすべてをLine2Dオブジェクトに参照します 。これは、そのクラスで利用可能な引数だけが変更可能であることを意味します。 whiskerprops
、 boxprops
、 flierprops
、およびcapprops
boxprops
などのキーワードの存在に気づくでしょう。これらは、それをさらにカスタマイズするための小道具辞書を提供するために必要な要素です。
注:この実装を使用したボックスプロットのカスタマイズをさらに困難にする可能性があります。いくつかの例では、 パッチなどの他のマットプラットホーム要素を使用してボックスプロットを構築することが有利であり得る(例えば、ボックス要素にかなりの変更が加えられる)。