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()

 

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

『Pandas』と『Numpy』の基本的な文法は下記を参考にしてください。

 

 

散布図の作成方法・カスタマイズ方法

 

 

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

代表的な引数をまとめます。

引数 説明
label ラベル(凡例に表示される名前)
alpha 透明度 : 0〜1で指定
marker マーカーのスタイル(後に設定方法を詳しく説明)
s マーカーサイズ
c マーカーの色
linewidth(lw) マーカーの縁の太さ
edgecolors マーカーの縁の色

 

まずは、最もシンプルな散布図を具体例として表示します!

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

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

 

 

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

 

 

散布図のマーカーをカスタマイズ

 

散布図のマーカー具体的にカスタマイズした具体例を以下に表示します。

fig, ax = plt.subplots()

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

 

マーカのカスタマイズ具体例

 

よく使用するmarkerで指定可能なマーカーを以下に示します。

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

 

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

マーカの詳細について

 

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

 

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

早速、具体例を紹介します。

fig, ax = plt.subplots()

# マーカーのサイズや色で三つ目のデータを可視化
ax.scatter(df['A'], df['B'], alpha=0.9,  s =df['C']*100, c = df['C'])
plt.show()

 

三つ目のデータをマーカサイズ・カラーで表現

 

*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と変わらず簡単に行うことができます。...

 

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

 

Pythonを学習するのに効率的なサービスを紹介していきます。

まず最初におすすめするのは、Udemyです。

Udemyは、Pythonに特化した授業がたくさんあり、どの授業も良質です。

また、セール中は1500円定義で利用することができ、コスパも最強です。

下記の記事では、実際に私が15個以上の講義を受講して特におすすめだった講義を紹介しています。

 

【最新】UdemyでおすすめのPythonコース|東大生が厳選!10万を超える講座があるUdemyの中で、Pythonに関係する講座を厳選しました。また、本記事では、Udemyを使用しながらPythonをどのような順番で勉強するべきかを紹介しました。ぜひ参考にしてください。...

 

他のPythonに特化したオンライン・オフラインスクールも下記の記事でまとめています。

 

【最新】Pythonに強いプログラミングスクール7選|東大生が厳選Pythonの流行と共に、Pythonに強いプログラミングスクールが増えてきました。本記事では、特にPythonを効率的に学ぶことができるプログラミングスクールを経験をもとに厳選して、内容を詳しく解説しています。...

 

自分の学習スタイルに合わせて最適なものを選びましょう。