データサイエンス講座:Part 2「Pythonでのプロット」- 新時代の邪馬台国探索のための描画機能

2026-01-16

邪馬台国探索のためのデータの描画

本を読んでフィーリングで大和と書いてある場所を邪馬台国と比定しますか?もちろんその方法は間違いです。神社でお参りして神がかって邪馬台国の場所のお告げをもらいますか?もちろん不可能です。

では、鏡や鉄鏃の分布を描画してみて関係性をグラフに出して邪馬台国の場所を説明しようと思いますか?これは正しい科学的なアプローチの第一歩です。この講座では最終的に安本先生の統計的手法やデータサイエンス的手法を再現することを目的としています。

Pythonでのプロット

PythonはMatplotlibやSeabornなどの豊富なライブラリを備えており、多様なプロットを作成できる環境を提供します。ここでは、PythonのMatplotlibを用いた幅広い可視化手法を学びます。

基本的な折れ線グラフから、ヒストグラム、箱ひげ図、ヒートマップのようなより複雑な可視化まで、さまざまなプロットの作成とカスタマイズ方法を扱います。データ可視化はデータサイエンスの中核です。これらのプロット技術を身につけることで、データの探索、傾向の把握、そして分析結果の効果的な伝達が可能になります。

データサイエンスの学習を進めるにつれて、これらのスキルはデータを実行可能な洞察へ変換するうえで大いに役立ちます。

基本プロット

Matplotlibの導入

MatplotlibはPythonでもっとも広く使われているプロットライブラリです。静的・アニメーション・インタラクティブといった多様なプロットを作成できる柔軟な基盤を提供します。個別のプロット種類に入る前に、Matplotlibの基本を確認します。

このコードは、軸ラベルとタイトルを付けた単純な折れ線グラフを作成します。この基本構造は、Matplotlibのさまざまなプロットに共通します。

折れ線グラフ(Line Plot)

折れ線グラフは時系列データの可視化でよく使われ、一定期間にわたる傾向を示すのに有用です。より詳細な例として、数年にわたる企業の年間売上(収益)推移を追跡します。

この折れ線グラフでは、各データ点にマーカーを付け、見やすさのためにグリッドを追加し、注目点に注釈を付けます。これにより、より明確で情報量の多い可視化になります。

散布図(Scatter Plot)

散布図は2つの変数の関係を理解するために不可欠です。相関、クラスタ、外れ値を見つけるのに役立ちます。ここでは広告費と売上の関係を調べる散布図を作成します。

この散布図は、広告費と売上の間に正の相関があることを示します。トレンドラインを追加することで、この関係がより分かりやすくなります。

散布図のカスタマイズ

散布図はさまざまな方法でカスタマイズでき、より情報量の多い図にできます。点の大きさを変えたり、カテゴリによって色を変えたり、点にラベルを付けたりできます。

この補足した散布図は、広告予算と売上の関係を示すだけでなく、地域ごとにデータを区分し、トレンドラインも追加します。点の大きさは各データ点の相対的な重要度や規模を表し、さらに情報の層を加えます。

ヒストグラム、棒グラフ、円グラフ、箱ひげ図

ヒストグラム(Histogram)

ヒストグラムはデータ分布を可視化する強力な手法です。ある範囲(ビン)ごとに値の頻度を示すため、データがどのように分布しているかを理解するのに役立ちます。ここでは、小売店の顧客年齢の分布を分析するヒストグラムを作成します。

このヒストグラムは顧客年齢の分布を示し、縦線で平均年齢を示します。これは顧客の年齢層を理解するのに有用です。

ヒストグラムで分布を比較する

ヒストグラムは、異なるグループ間で分布を比較する場合にも便利です。ここでは、2つの店舗の顧客年齢分布を比較します。

このヒストグラムは2店舗の年齢分布を比較し、顧客層の違いを見つけるのに役立ちます。

棒グラフ(Bar Plot)

棒グラフはカテゴリ間の数量比較に有効です。ここでは、製品ごとの平均売上を比較する棒グラフを作成します。

この棒グラフは製品間の売上の違いを示し、棒の上に値を表示して見やすくします。

グループ化棒グラフ(Grouped Bar Plot)

グループ化棒グラフは、各カテゴリについて複数グループを比較したい場合に便利です。ここでは、2つの地域における製品別売上を比較します。

このグループ化棒グラフは、各製品について2地域の売上を比較でき、カテゴリ内とカテゴリ間の比較を容易にします。

円グラフ(Pie Chart)

円グラフは、全体に占める割合を示すのに適しています。ここでは、ある業界における企業の市場シェアを円グラフで表します。

この円グラフは企業ごとの市場シェアの割合を示します。色分けや影の効果により、見た目も分かりやすくなります。

箱ひげ図(Box Plot)

箱ひげ図は、データの広がりや偏りを可視化し、外れ値も示せるため有用です。ここでは、店舗の1か月分の日次売上の分布を箱ひげ図で分析します。

箱ひげ図は、中央値、四分位、外れ値候補を示し、日次売上の分布を要約します。ノッチは中央値の信頼区間を表し、破線は平均を強調します。

複数の箱ひげ図

複数の箱ひげ図を使うと、カテゴリごとの分布比較ができます。ここでは、複数店舗のロケーション別に日次売上を比較します。

このプロットは、店舗ロケーション間で売上分布を比較し、中央値やばらつき、外れ値候補の違いを把握しやすくします。

3Dサーフェスプロット

3Dサーフェスプロットは、3次元データを表現するグラフです。2つの変数(XとY)の値を水平・垂直の軸に取り、3つ目の変数(Z)を面の高さや色として表します。このプロットは、ZがXとYの関数としてどのように変化するかを示し、X-Y平面上に連続した面を作ります。3変数間の複雑な関係を可視化するのに特に有用であり、数学関数、科学データ、その他の多次元データセットの探索に使えます。

このコードでは、MatplotlibNumPyを使って3Dサーフェスプロットを作成します。XとYの格子点を生成し、原点からの距離に対するコサインとしてZを計算し、滑らかで波のような外観を持つ色付きの面として可視化します。

ヒートマップ

ヒートマップは、行列形式でデータを表示し、値を色の強さで表現する強力な可視化手法です。相関関係を示したり、大規模データを視覚化したりするのに特に有用です。ここでは、データセット内の変数間の相関を可視化するヒートマップを作成します。

このヒートマップは相関行列を表示し、各セルの色が2変数間の相関の強さを表します。注釈として表示される数値は相関係数を示し、相関の程度を正確に把握できます。

まとめ

ここではまず邪馬台国データサイエンティストが知っているべき描画機能の初歩を説明しました。この連載はまだまだ続きます。

Copyright© ふくおか邪馬台国探索プロジェクト , 2026 All Rights Reserved.