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を効率的に学ぶことができるプログラミングスクールを経験をもとに厳選して、内容を詳しく解説しています。...

 

 

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

 

 

英語学習でオンライン英会話を利用しないのは、時代遅れです…

 

『スピーキングができないから、オンライン英会話はまだまだ後回し…』と思っている方は大間違いです。

 

最近のオンライン英会話は、教材が豊富で、もはや参考書・問題集は不要になりつつあります…

また、多くのオンライン英会話が最新メソッドを導入して、スピーキングのみならず、リーディング・リスニング・ライティングの能力も上がる教材を導入しています。

さらに、効率的な記憶ツールや学習カウンセリングのサービスが提供されることもあります!!

 

特に初心者の方は、下記の記事で紹介しているオンライン英会話をチェックしてみてください。

 

【東大生が厳選】初心者にオススメなオンライン英会話10選実は、最適なオンライン英会話はユーザーによって異なります。本記事では、複数のオンライン英会話を経験した私が、他社と比較しつつ特徴を明確にして本当にオススメできるオンライン英会話を10個厳選しました。...

 

中には、2週間の無料体験期間を提供しているオンライン英会話もあります。

英語学習が滞っている方や英語学習を習慣化できていない方は無料体験期間で良いので挑戦してみてください。

何事も行動することが大切です。

 

また、多くのオンライン英会話がTOEICやTOEFL等の外部英語試験の対策レッスンを提供してきています。

中には、追加料金なしで、本番さながらの対策や面接対策を行うことができるオンライン英会話もあります。

 

特にTOEIC対策に強いオンライン英会話は下記を参考にしてください。

 

【徹底比較】TOEIC対策に強いオンライン英会話5選|東大生が厳選!オンライン英会話はTOEICのスコアを効率的に上げる最強のツールです。本記事では、TOEICにオンライン英会話が効果的な理由とTOEIC対策に強いオンライン英会話を厳選しました。詳しい内容は記事を参考にしてください。...

 

TOEFL対策に強いオンライン英会話に関しては下記を参考にしてください。

 

【徹底比較】TOEFL対策に強いオンライン英会話5選|東大生が厳選!TOEFL対策にオンライン英会話は有効です。事実、私もTOEFL対策のためにオンライン英会話を使用してTOEFL ibtの4技能、TOEFL itpのスコアを爆上げすることができました。この記事では、私が思うTOEFL対策に最適なオンライン英会話を紹介しました。...