Python でカスタマイズされたボックスプロットを作成する

PythonPythonBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

ボックスプロットは、5数要約(「最小値」、第1四分位数(Q1)、中央値、第3四分位数(Q3)、「最大値」)に基づいてデータの分布を表示するために使用されるグラフの一種です。これらは、データ分析において外れ値を識別し可視化するため、また異なるグループのデータの分布を比較するために一般的に使用されます。この実験では、Matplotlibライブラリを使用してPythonでボックスプロットを作成およびカスタマイズする方法を学びます。

VMのヒント

VMの起動が完了したら、左上隅をクリックしてノートブックタブに切り替えて、Jupyter Notebookを使った練習を行います。

時々、Jupyter Notebookが読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebookの制限により、操作の検証は自動化できません。

学習中に問題に遭遇した場合は、Labbyにお問い合わせください。セッション後にフィードバックを提供してください。そうすれば、迅速に問題を解決します。

必要なライブラリをインポートする

ボックスプロットを作成する前に、NumPyやMatplotlibなどの必要なライブラリをインポートする必要があります。

import matplotlib.pyplot as plt
import numpy as np

データを生成する

次に、ボックスプロットで使用するサンプルデータを生成します。このチュートリアルでは、次のデータを使用します。

spread = np.random.rand(50) * 100
center = np.ones(25) * 50
flier_high = np.random.rand(10) * 100 + 100
flier_low = np.random.rand(10) * -100
data = np.concatenate((spread, center, flier_high, flier_low))

基本的なボックスプロットを作成する

Matplotlibのboxplot()関数を使用して、基本的なボックスプロットを作成することができます。boxplot()関数は、データを最初の引数として取り、プロットをカスタマイズするための他のオプションパラメータを取ります。以下は、基本的なボックスプロットを作成するコードです。

plt.boxplot(data)
plt.show()

ボックスプロットをカスタマイズする

ボックス、ひげ、外れ値の外観を変更することで、ボックスプロットをカスタマイズできます。また、同じプロットに複数のボックスプロットを作成して、異なるグループのデータを比較することもできます。以下は、ボックスプロットをカスタマイズする方法のいくつかの例です。

## ノッチ付きのボックスプロットを作成する
plt.boxplot(data, notch=True)
plt.show()

## 外れ値の点のシンボルを緑のダイヤモンドに変更する
plt.boxplot(data, flierprops=dict(marker='D', markerfacecolor='g', markersize=8))
plt.show()

## 水平方向のボックスプロットを作成する
plt.boxplot(data, vert=False)
plt.show()

## 1つのプロットに複数のボックスプロットを作成する
data1 = np.random.normal(0, 1, 50)
data2 = np.random.normal(1, 1, 50)
data3 = np.random.normal(2, 1, 50)

plt.boxplot([data1, data2, data3])
plt.show()

ラベルとタイトルを追加する

最後に、ボックスプロットにラベルとタイトルを追加して、情報が豊富になるようにします。x軸とy軸にラベルを追加し、プロットにタイトルを追加できます。また、ラベルとタイトルのフォントサイズとスタイルを変更することもできます。以下は、ラベルとタイトルを追加する方法の例です。

plt.boxplot([data1, data2, data3])
plt.xlabel('Group')
plt.ylabel('Value')
plt.title('Comparison of Three Groups')
plt.xticks([1, 2, 3], ['Group 1', 'Group 2', 'Group 3'])
plt.show()

まとめ

この実験では、Matplotlibライブラリを使ってPythonでボックスプロットを作成してカスタマイズする方法を学びました。サンプルデータを生成する方法、基本的なボックスプロットを作成する方法、ボックスプロットの外観をカスタマイズする方法、およびプロットにラベルとタイトルを追加する方法を学びました。ボックスプロットは、データの分布を視覚化し比較するための強力なツールであり、それを作成してカスタマイズする方法を知ることは、データ分析家や科学者にとって重要なスキルです。