SiiD BLOG ロゴ

Seabornを用いた線グラフ(lineplot)の作り方

Seabornを用いた線グラフ(lineplot)の作り方

この記事を書いた人

SiiD BLOG編集部

SiiD BLOG編集部

SiiD BLOG編集部にて、皆さんの学習やキャリアに役立つ記事を発信します! 普段は受講生の皆さん向けに、学習やキャリアの相談にのったりもしています。

Seabornのlineplotは、線グラフを作るためのツールです。二つのデータ点を線でつなぐ線グラフは、データの変化や傾向を見るのに役立ちます。

この機能の特徴は、データを色々な基準(セマンティクス)で分けて、それぞれ異なる見た目(色、線の太さ、点や線のスタイルなど)でグラフに表示できる点です。例えば、「色」を使って異なるカテゴリーを示したり、「線の太さ」で数値の大きさを表したりすることができます。

主要なパラメータ:

  • data: pandas.DataFrame, numpy.ndarray, mapping, sequenceなどの入力データが使用可能です。
  • x, y: データ内のキーまたはベクトル。x軸およびy軸上の位置を指定する変数です。
  • hue: 異なる色の線を生成するためのグループ化変数です。カテゴリカルまたは数値のいずれかであり、後者の場合、色のマッピングは異なる挙動をします。
  • size: 異なる幅の線を生成するためのグループ化変数です。カテゴリカルまたは数値のいずれかであり、後者の場合、サイズのマッピングは異なる挙動をします。
  • style: 異なるダッシュやマーカーで線を生成するためのグループ化変数です。数値型を持つことができますが、常にカテゴリカルとして扱われます。

その他のパラメータ:

  • estimator: 中心傾向を推定する方法です。'mean'(平均)がデフォルト。
  • errorbar: 信頼区間やエラーバーをどのように表示するかを指定します。デフォルトは('ci', 95)で、95%の信頼区間を示します。
  • palette: 色の選択方法を指定します。hueセマンティックをマッピングする際に使用されます。

Seabornによる線グラフ(lineplot)の作成例

ここからはチュートリアルを通して、さまざまな線グラフの作成例を見ていきましょう。

基本的な線グラフの作成

まずはデータセットの読み込みす。 Seabornにはflightsデータセットが含まれており、これを使用して線グラフを作成します。このデータセットには、1949年から1959年までの10年間にわたる月間航空会社乗客数のデータが含まれています。

   import seaborn as sns
   sns.set_theme()

   flights = sns.load_dataset("flights")

次に線グラフを描画します。 特定の月(例: 5月)のデータをフィルタリングし、年ごとの乗客数の変化を示す線グラフを描画します。

   may_flights = flights.query("month == 'May'")
   sns.lineplot(data=may_flights, x="year", y="passengers")
seaborn lineplot

データセットの形式変更

広形式のデータフレームに変換: 複数のデータを同時に表示できるよう、pivotメソッドを使用して、データセットを広形式に変換し、各年と月に対する乗客数を表示します。

  flights_wide = flights.pivot(index="year", columns="month", values="passengers")

全ての列をプロット: 広形式データセット全体を指定して、各列(月)に対する線グラフを描画します。

  sns.lineplot(data=flights_wide)
seaborn lineplot, all data

セマンティックなグループ化

hueパラメータの使用:hueを使用して、異なる月を異なる色でプロットします。

  sns.lineplot(data=flights, x="year", y="passengers", hue="month")
seaborn lineplot, semantic plot

さらなるカスタマイズ

異なるセマンティック変数の使用:fmriデータセットを用いて、異なるセマンティック変数(hueとstyle)を異なる列に割り当てます。

  fmri = sns.load_dataset("fmri")
  sns.lineplot(data=fmri, x="timepoint", y="signal", hue="region", style="event")
seaborn lineplot, customize

エラーバーのカスタマイズ:err_styleとerrorbarパラメータを使用して、エラーバーの表示をカスタマイズします。

  sns.lineplot(
      data=fmri, x="timepoint", y="signal", hue="event", err_style="bars", errorbar=("se", 2)
  )
seaborn lineplot, errror bar

まとめ

seabornを用いてさまざまな線グラフ(lineplot)の作り方を見てきました。データの分析やプレゼンテーションに役立てていただけると幸いです。

lineplotは引数の組み合わせが多く、どこまで覚えておくべきか迷いやすい部分です。データ可視化までつなげてPythonを順序立てて学べるコースも用意しています。

AIプログラミングスクール「SiiD」について

AIプログラミングスクール「SiiD」は、未経験からITエンジニア転職を目指す方向けのオンラインスクールです。

SiiDの特徴

  • 現役エンジニアでYouTube登録者約13万人の「セイト先生」が代表兼主任講師
  • 採用側の実務知見(2,000人以上の選考・150名以上のエンジニア採用)にもとづく指導
  • 生成AIを取り入れた学習設計と、実務レベルのフルスタックWeb開発スキル
  • Workship CAREER(株式会社GIG)と連携した無料の転職伴走支援
  • 経済産業省認定のReスキル講座で、給付金の条件を満たせば実質105,600円〜
  • 学割あり(35%オフ)

こんな方におすすめ

  • 未経験・文系・社会人からITエンジニア転職を本気で目指したい方
  • 独学に限界を感じている方
  • 費用を抑えながら実務スキルと転職サポートを両立したい方

「未経験だから」とあきらめる必要はありません。採用する側を知り尽くしたプロが、給付金で負担を抑えながら内定まで伴走します。

シェアする

未経験からのエンジニア転職を本気で目指すなら「SiiD」

SiiDはYouTube 13万人のセイト先生が主任講師のAIプログラミングスクール。元人事部長&現役エンジニアによる徹底指導で、生涯年収を大きくアップさせませんか?

SiiDの詳細を見る