Python
 Computer >> コンピューター >  >> プログラミング >> Python

seabornで点を線で結んだ複数系列の散布図を作成する方法

Pythonの可視化ライブラリ seaborn を使用すると、点を線で結んだ複数系列の散布図を簡単に作成できます。この記事では、FacetGrid を活用して、散布図のポイント同士を線でつなぐグラフを作成する手順を解説します。

実装手順

  • 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。

  • 2次元の表形式データを持つ Pandas データフレームを作成します。データフレームはサイズ変更が可能で、異なる型のデータを格納できます。

  • 条件付きの関係をプロットするためのマルチプロットグリッド(FacetGrid)を構築します。

  • 各ファセット(分割された領域)のデータサブセットに対して、プロット関数を適用します。

  • x軸・y軸のデータポイントをもとに、散布図を描画し、さらに点同士を結ぶ折れ線を重ねて表示します。

  • 最後に show() メソッドを呼び出して、図を画面に表示します。

コード例

import pandas as pd
import seaborn as sns
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

df = pd.DataFrame({"x": [4, 6, 7, 1, 8], "y": [1, 5, 7, 8, 1]})

g = sns.FacetGrid(df, hue="x", height=3.5)
g.map(plt.scatter, "x", "y")
g.map(plt.plot, "x", "y")

plt.show()

実行結果

上記のコードを実行すると、x値ごとに色分けされた散布図のポイントが、線で順番に結ばれたグラフが出力されます。これにより、データポイントの位置関係と変化の流れをひとつの図で把握できます。

seabornで点を線で結んだ複数系列の散布図を作成する方法

ポイント解説

この手法の鍵となるのは sns.FacetGrid() です。hue 引数にカテゴリ列を指定することで、系列ごとに色分けしながらプロットできます。また、g.map(plt.scatter, ...) で散布図を描画した後に g.map(plt.plot, ...) で折れ線を重ねることで、「点+線」の複合グラフを実現しています。時系列データや実験結果の推移などを視覚化する際に特に有効なアプローチです。

  1. PythonのSeabornでstripplotを使うときにポイントの重なりを防ぐ方法(jitterパラメータの使い方)

    データの可視化は、複雑な計算を行ったり数値を一つずつ確認したりしなくても、データの中で何が起きているのかを直感的に把握できるようにしてくれる重要なステップです。その可視化を支援するライブラリのひとつが「Seaborn」です。Seabornはカスタマイズされたテーマと高水準なインターフェースを備えており、美しいグラフを簡単に描画できます。しかし、扱う変数がカテゴリカル(分類型)データである場合、一般的な散布図やヒストグラムなどはそのまま使えません。こうしたケースでは、カテゴリカル散布図(categorical scatterplot)を使用する必要があります。stripplotとはカテゴリカル変

  2. PythonのopenpyxlでExcelグラフを作成する方法|棒グラフ作成をステップ解説

    この記事では、Pythonのopenpyxlモジュールを使ってExcelにグラフを作成する方法を解説します。テニス選手のグランドスラム優勝回数をサンプルデータとして、ゼロからExcelスプレッドシートを作成し、openpyxlで棒グラフを描画するまでの一連の手順を紹介します。 はじめに Microsoft Officeでは、Office 2007以降、より多くの行と列を扱えるようにするため、Excelシートに新しい拡張子「.xlsx」が導入されました。この変更により、ExcelファイルはZIP圧縮されたXMLベースのフォーマットへと移行しています。Microsoftのスプレッドシートは今やビ