ボックスプロットのカスタム塗りつぶし色の作成

PythonPythonBeginner
今すぐ練習

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

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

はじめに

このチュートリアルでは、PythonのMatplotlibを使ってボックスプロットに独自の塗りつぶし色を作成する方法を説明します。ボックスプロットは、一連のデータの分布を表示するために使用されるグラフの一種です。これらは、データセットの中央値、四分位数、および外れ値を示します。このチュートリアルでは、Matplotlibのboxplot()関数を使って2種類のボックスプロット(矩形とノッチ付き)を作成し、それらを独自の色で塗りつぶします。

VMのヒント

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

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

学習中に問題に直面した場合は、Labbyにお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

必要なライブラリのインポート

まずは必要なライブラリをインポートします。この例では、numpymatplotlib.pyplot ライブラリを使用します。

import matplotlib.pyplot as plt
import numpy as np

ランダムなテストデータの作成

次に、numpy ライブラリを使ってランダムなテストデータを作成します。標準偏差の異なる3セットのデータを生成します。

np.random.seed(19680801)
all_data = [np.random.normal(0, std, size=100) for std in range(1, 4)]
labels = ['x1', 'x2', 'x3']

矩形のボックスプロットの作成

次に、Matplotlibのboxplot()関数を使って矩形のボックスプロットを作成します。ボックスを色で塗りつぶすために、patch_artistパラメータをTrueに設定します。

fig, ax1 = plt.subplots(figsize=(9, 4))
bplot1 = ax1.boxplot(all_data,
                     vert=True,  ## vertical box alignment
                     patch_artist=True,  ## fill with color
                     labels=labels)  ## x-tick labels
ax1.set_title('Rectangular Box Plot')

ノッチ付きのボックスプロットの作成

次に、boxplot()関数を使ってノッチ付きのボックスプロットを作成します。ノッチ付きのボックスプロットを作成するために、notchパラメータをTrueに設定します。

fig, ax2 = plt.subplots(figsize=(9, 4))
bplot2 = ax2.boxplot(all_data,
                     notch=True,  ## notch shape
                     vert=True,  ## vertical box alignment
                     patch_artist=True,  ## fill with color
                     labels=labels)  ## x-tick labels
ax2.set_title('Notched Box Plot')

カスタムカラーでボックスプロットを塗りつぶす

次に、カスタムカラーでボックスプロットを塗りつぶします。色のリストを作成し、ループを使って各ボックスを異なる色で塗りつぶします。

colors = ['pink', 'lightblue', 'lightgreen']
for bplot in (bplot1, bplot2):
    for patch, color in zip(bplot['boxes'], colors):
        patch.set_facecolor(color)

水平グリッド線の追加

最後に、yaxis.grid()関数を使ってボックスプロットに水平グリッド線を追加します。

for ax in [ax1, ax2]:
    ax.yaxis.grid(True)
    ax.set_xlabel('Three Separate Samples')
    ax.set_ylabel('Observed Values')

plt.show()

まとめ

このチュートリアルでは、PythonのMatplotlibを使ってボックスプロットにカスタムの塗りつぶし色を作成する方法を学びました。まず必要なライブラリをインポートし、ランダムなテストデータを作成し、次に矩形とノッチ付きのボックスプロットを作成しました。そして、ボックスプロットにカスタムの色を塗りつぶし、水平グリッド線を追加しました。ボックスプロットは、データの分布を表示するための便利なビジュアライゼーションツールであり、カスタムの塗りつぶし色を使って視覚的に魅力的にすることができます。