Matplotlib

【入門】Pythonで散布図作成(高度なグラフが15分で作れる)

【入門】Pythonで散布図作成(高度なグラフが15分で作れる)

 

 

  • Pythonで散布図を書く方法を知りたい!
  • Pythonで散布図をキレイに書きたい!

この悩みを本記事では解決していきます。

実は、PythonはExcelよりも簡単に高度な散布図を作成することもできます。

また、Pythonを用いて散布図を作成するスキルは、データサイエンスでは、必要不可欠な知識です。

この記事では、初心者でもわかるようにPythonで散布図を作成する方法を丁寧に紹介していきます。

本記事の内容

  • 散布図の基本的な書き方
  • 散布図の色・マーカーをカスタマイズ
  • さらに高度な散布図に挑戦

本記事を読むメリット

  • 15分程度でPythonを使ってキレイな散布図が作成できるようになる

本記事を読む前に『matplotlib』に関する基本知識が抜けている方は下記を先に読むことを勧めます。

【15分】Pythonでグラフを作成する方法(matplotlib)Pythonでグラフを書くことが難しそうだと思っていませんか?実は、Pythonを使用したグラフ作成は、excelより便利で簡単です。この記事では、初心者でもグラフが書けるように丁寧にpythonのグラフの作成法を説明します。...

 

Pythonで散布図を書く準備

Pythonで散布図を作成するために以下のライブラリをインポートしましょう。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

 

次に、グラフを書くためのサンプルデータを作ります。

df = pd.DataFrame(data=np.random.randn(100, 3), columns=['A', 'B', 'C'])
df.head()

 

このデータを使って実際に散布図を作成していきます。

『numpy』に関する基本知識がない方は下記を参考にしてください。

numpyの使い方【15分で使えるようになる】機械学習やデータ解析をいち早く行うために、numpyに関する基本事項を体系的にまとめました。15分程度で読めるので、この記事でnumpyの基本を習得し、次のステップに進みましょう。...

『pandas』に関する基本知識がない方は下記を参考にしてください。

pandas入門(データ分析に必要不可欠なものをまとめてみた)『pandasを使ってみたいけど何から手をつけて良いかわからない...』という方のために本記事を作成しました。本記事では、Pandasを利用したデータ解析に必要不可欠なものだけをまとめました。...

 

基本的な散布図の作成

散布図を作成するためには、” scatter() ” を使用します。

具体的には、以下のようなコードになります!

# ウインドウとグラフを同時に作成
fig, ax = plt.subplots()

# 散布図をプロット
ax.scatter(df['A'], df['B'])

 

このように簡単に散布図を作成することができます。

下記のコードが理解できていない方は、『Pythonでグラフを作成する方法【15分でグラフが作れる】』を参考にしてください。

fig, ax = plt.subplots()

 

散布図の色・プロット点をカスタマイズ

散布図の色とプロット点をカスタマイズする方法を紹介します

基本的には、『Pythonでグラフを作成する方法【15分でグラフが作れる】』で説明したようにカスタマイズすることができます。

fig, ax = plt.subplots()

# 散布図を作成
ax.scatter(df['A'], df['B'], alpha = 0.2, s=100, marker='^', c='r')

 

scatterの中で色やプロットの種類を簡単に指定できます

パラメータ

  • s : 点のサイズを変更
  • c  : 色の種類を変更
  • maker : マーカーの形を変更
  • alpha : 点の透明度 

散布図でよく使用するマーカを何個か紹介しておきます。

マーカー 三角形 四角形 バツ ピクセル
記法 . o ^ s * X ,

 

これ以外のマーカーの種類を詳しく知りたい人は下の記事を参考にしてください。

マーカの詳細について

さらに高度な散布図に挑戦

ここからは、プロット点の大きさや色を利用して三つのデータを散布図で可視化する方法を紹介します。

具体的には以下のようなコードでマーカーや色に三つ目のデータの情報を追加できます。

fig, ax = plt.subplots()

# 散布図を作成
ax.scatter(df['A'], df['B'], alpha = 0.9,  s = df['C']*100, c = df['C'])

 

以下のようにパラメータを設定することで三つ目のデータを追加

  • s = 三つ目のデータ : markerサイズに三つ目のデータが反映
  • c = 三つ目のデータ : colorに三つ目のデータが反映

*marker sizeに関しては、適当な値をかけることで、自分好みの大きさに設定できます。

デザインを変更する

 

cmapを指定することで、デザインを変更することができます。

具体的には下記を参考にしてください。

fig, ax = plt.subplots()

# cmapを指定
ax.scatter(df['A'], df['B'], alpha = 0.9,  s = df['C']*100, c = df['C'], cmap ='flag')

 

cmapの種類については下のボタンからアクセスしてください

cmapの種類について

colorbarを設定

 

colorbarも簡単に表示することができます。

詳しくは下記のコードを参考にしてください。

fig, ax = plt.subplots()

# plotに代入
plot = ax.scatter(df['A'], df['B'], alpha = 0.9,  s = df['C']*100, c = df['C'])

#colorbarを表示する
fig.colorbar(plot)

 

こんな感じで簡単にカラーバーも設定することができます。

まとめ

 

これで、プロ顔負けの散布図が作成できるようになりましたね。

本記事の内容をまとめておきます。

  • 散布図の基本的な書き方
  • 散布図の色・マーカーをカスタマイズ
  • さらに高度な散布図に挑戦

皆さんも、実際に手を動かして散布図を作成し定着させましょう。

また、Seabornというライブラリを使用することで、さらに高度なグラフを簡単に書くことができます。

 

【15分で習得】seabornの使い方を徹底解説seabornを使用することで、簡単に高度なグラフを描画することができます。また、使用方法もmatplotlibと変わらず簡単に行うことができます。...

 

最近は、Pythonに特化したプログラミングスクールも増えてきているので友好活用しましょう。

Pythonに特化したプログラミングスクールに関しては下記を参考にしてください。

【最新】Pythonに強いプログラミングスクール7選(東大生のオススメ)Pythonの流行と共にPythonに強いプログラミングスクールが増えてきました。この記事では、プログラミング経験豊富な私が本当にオススメできるPythonに強いプログラミングスクールを7つ紹介しました。...

 

 

ABOUT ME
努力のガリレオ
【運営者】 : 東大で理論物理を研究中(経歴)東京大学, TOEIC950点, NASA留学, カナダ滞在経験有り, 最優秀塾講師賞, オンライン英会話講師試験合格, ブログと独自コンテンツで収益6桁達成 【編集者】: イングリッシュアドバイザーとして勤務中(経歴)中学校教諭一種免許取得[英語],カナダ留学経験あり, TOEIC650点