私はmatplotlibを初めて使用し、次の情報を使用してプロットを作成したいと考えています:
- 約 200 個の可変長ベクトルの中央値を結ぶ線 (入力)
- これらのベクトルの対応する分位数を結ぶ線。
- 対応するスプレッド (最大点と最小点) を結ぶ線。
つまり、基本的には連続箱ひげ図のようなものです。
ありがとう!
私はmatplotlibを初めて使用し、次の情報を使用してプロットを作成したいと考えています:
つまり、基本的には連続箱ひげ図のようなものです。
ありがとう!
scipy
and (質問でこれらのライブラリのみにタグを付けました) を使用matplotlib
するのは少し冗長ですが、これを行う方法は次のとおりです (分位数に対してのみ行っています)。
import numpy as np
from scipy.stats import mstats
import matplotlib.pyplot as plt
# Create 10 columns with 100 rows of random data
rd = np.random.randn(100, 10)
# Calculate the quantiles column wise
quantiles = mstats.mquantiles(rd, axis=0)
# Plot it
labels = ['25%', '50%', '75%']
for i, q in enumerate(quantiles):
plt.plot(q, label=labels[i])
plt.legend()
これにより、次のことが得られます。
それでは、Pandas ライブラリを試すように説得してみます :)
import numpy as np
import pandas as pd
# Create random data
rd = pd.DataFrame(np.random.randn(100, 10))
# Calculate all the desired values
df = pd.DataFrame({'mean': rd.mean(), 'median': rd.median(),
'25%': rd.quantile(0.25), '50%': rd.quantile(0.5),
'75%': rd.quantile(0.75)})
# And plot it
df.plot()
あなたは得るでしょう:
または、すべての統計を 1 行で取得できます。
rd.describe().T.drop('count', axis=1).plot()
注: count
「5 番号の概要」の一部ではないため、削除しました。