Python

Python初学者向け:散布図の描画を基本から解説

スポンサーリンク

 

この記事はこんな方におススメです
  • Pythonを始めたばかりで基本から学びたい方
  • Pythonの基本的な部分を速習してまずは全体像を把握しておきたい方

▶ matplotlibによる可視化を基本から解説しています。以下の投稿も合わせてご覧ください。

はじめに

今回はmatplotlibで散布図を描く方法を基本から解説します。引数は必要な時に「Shift + Tab」でdocstringをみて確認すればよいので、全部覚える必要はありません。基本的な使い方と、どんなことができるかを抑えておけばよいでしょう。さっそく始めましょう。

散布図を描く

書式

はじめに書式を確認しておきましょう。

plt.scatter(x, y)

たったこれだけです。x, yにx座標、y座標を指定するだけです。このx,yは配列で指定することもできます。また、plt.plot()の場合と同様にdf[‘列名’]のようにSeriesを指定することもできるし、x=’列名’としておいて、data=dfというように後からデータフレームを指定するやり方でもOKです。

まずはサンプルデータを用意しましょう。今回もseabornに準備されている学習用データセットのtipsを使います。

# ライブラリのインポート
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

# データセット読み込み
df = sns.load_dataset('tips')
df.head()
データセット:tips

散布図を描く

では早速描いていきましょう。今回はtotal_billとtipの関係を見ることにしましょう。

# 散布図を描く
plt.scatter('total_bill','tip',data=df)
total_bill vs tips

できました。これが基本です。ただ、マーカーが密集しているところでは重なってしまってわかりにくいですね。マーカーの透明度を設定することができます。これらは覚えようとしなくても、その都度確認していれば自然に覚えるので、しばらくはdocstringを確認しながら進めるとよいでしょう。

plt.scatter()のdocstring

docstringのparameterの部分を見ると、alphaという引数があります。これで透明度を指定することができます。

# 散布図を描く
plt.scatter('total_bill','tip',data=df,alpha=0.3)
plt.scatter()のdocstring:alphaを設定

だいぶ見やすくなりましたね。ただ、これでは何のグラフなのかパット見わからないですね。グラフのタイトルや軸ラベルを設定するとわかりやすいです。これは次の投稿を参考にしてください。

# 散布図を描く:タイトルと軸ラベルを記載
plt.scatter('total_bill','tip',data=df,alpha=0.3)
plt.title('請求額とチップの関係',fontsize=20)
plt.xlabel('請求額',fontsize=15)
plt.ylabel('チップ',fontsize=15)
タイトルと軸ラベルを付加

バブルチャートを描く

散布図のマーカーに情報を持たせてみましょう。ここでは、マーカーサイズに人数(size)の情報を持たせてみましょう。このようにマーカーサイズに情報を持たせたものをバブルチャートといいます。これは次の書式となります。

plt.scatter(x, y, s )

sに持たせる情報を与えてあげればよいです。やってみましょう。

# バブルチャート

plt.scatter('total_bill','tip',s='size',data=df,alpha=0.3)
plt.title('請求額とチップの関係',fontsize=20)
plt.xlabel('請求額',fontsize=15)
plt.ylabel('チップ',fontsize=15)
バブルチャート

できました。ただ、バブルが小さすぎてよくわかりません。これは次のようにするとよいでしょう。

# バブルチャート:バブルを大きく
plt.scatter(df['total_bill'],df['tip'],s=df['size']*50,alpha=0.3)
plt.title('請求額とチップの関係',fontsize=20)
plt.xlabel('請求額',fontsize=15)
plt.ylabel('チップ',fontsize=15)
バブルチャート:バブルを大きく

だいぶ見やすくなりましたね。バブルに持たせる情報によっては小さく表示されてしまったり、差がわかりにくい場合もありますね。今回のように全体的に値が小さい場合は、定数倍してしまうとよいでしょう。

スポンサーリンク

まとめ

今回は散布図とバブルチャートの基本を扱いました。慣れてしまえば簡単です。覚える必要はなく、「Shift + Tab」でDocstringを確認しながら描画していくとよいでしょう。

コメント

タイトルとURLをコピーしました