ボックスプロットで中央値の代わりに平均値を表示する[終了]


15

python matplotblibで箱ひげ図をプロットする場合、プロットの半分の線は分布の中央値です。

代わりに平均でラインを持つ可能性はありますか。または、その横に別のスタイルでプロットします。

また、行が中央値であることが一般的であるため、平均にすると、読者を本当に混乱させますか(もちろん、中間行とは何かをメモします)。

回答:


25

このコードは、ボックスプロットを作成し、各ボックスの平均を示す円を配置します。の呼び出しでマーカー引数を指定することにより、別のシンボルを使用できますscatter

import numpy as np
import pylab

# 3 boxes
data = [[np.random.rand(100)] for i in range(3)]
pylab.boxplot(data)

# mark the mean    
means = [np.mean(x) for x in data]
pylab.scatter([1, 2, 3], means)

代替テキスト


3
Rを使用したソリューションについては、stackoverflow.com / questions / 2492947 /…を参照してください
James

1
@ジェームス:私はジャークになろうとはしていませんが、あなたのコメントは私からの質問を頼みます。このフォーラムの誰かが非R言語を使用して何かを行う方法を明示的に尋ねるときはいつでも(Rは事実上のデフォルトなので)、誰かが常にRの使用を提案しなければならないのはなぜですか?私はその逆をあまり見つけません。SASプログラマーは通常、「RでXをどうやってやるの?」についてコメントしません。「SASでの実行方法は次のとおりです」という質問。私は人々がRを愛し知っている(と私はあまりにも行う)、しかし...
ジョシュHemann

20

2番目の質問に答えるには:はい、線を中央値ではなく平均値にすると混乱するでしょう。「ウィスカ」の長さ(存在する場合)と外れ値の処理を制御する正確なルールは異なりますが、誰もが中央値と上下四分位数を表示するTukeyのボックスの使用を続けています。非常にゆがんだ分布の場合、平均はボックスの外側にある可能性があり、非常に奇妙に見えます。一般的な使用法では、中央値は四分位範囲になり、平均値は標準偏差(またはデータの説明ではなく推論に関心がある場合は平均値の標準誤差)になります。平均を視覚的に表示したい場合は、混乱を避けるために別のシンボルを使用して表示します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.