【入門】Pythonで散布図作成(高度なグラフが15分で作れる)
- Pythonで散布図を書く方法を知りたい!
- Pythonで散布図をキレイに書きたい!
この悩みを本記事では解決していきます。
実は、PythonはExcelよりも簡単に高度な散布図を作成することもできます。
また、Pythonを用いて散布図を作成するスキルは、データサイエンスでは、必要不可欠な知識です。
この記事では、初心者でもわかるようにPythonで散布図を作成する方法を丁寧に紹介していきます。
本記事の内容
- 散布図の基本的な書き方
- 散布図の色・マーカーをカスタマイズ
- さらに高度な散布図に挑戦
本記事を読むメリット
- 15分程度でPythonを使ってキレイな散布図が作成できるようになる
本記事を読む前に『matplotlib』に関する基本知識が抜けている方は下記を先に読むことを勧めます。
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の種類については下のボタンからアクセスしてください
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』というライブラリを使用することで、さらに高度なグラフを簡単に書くことができます。
Pythonを学習するのに効率的なサービスを紹介していきます。
まず最初におすすめするのは、Udemyです。
Udemyは、Pythonに特化した授業がたくさんあり、どの授業も良質です。
また、セール中は1500円定義で利用することができ、コスパも最強です。
下記の記事では、実際に私が15個以上の講義を受講して特におすすめだった講義を紹介しています。
他のPythonに特化したオンライン・オフラインスクールも下記の記事でまとめています。
自分の学習スタイルに合わせて最適なものを選びましょう。
また、私がPythonを学ぶ際に使用した本を全て暴露しているので参考にしてください。